2011-09-20 3 views
4

최근에 Enyim Memcached이 실행 중이고 작동 중입니다. 라이브러리를 사용하면 문제없이 항목을 저장하고 검색 할 수 있습니다.캐시의 모든 항목 검색

그러나 캐시에서 모든 항목을 검색하는 방법이 있는지 궁금합니다. 나는 당신의 키 항목을 검색 할 수 있다는 것을 알고 :

MemcachedClient client = new MemcachedClient() 
    object o = client.Get("key"); 

하지만이 GetAll() 또는 이와 유사한 방법을 볼 수없는 것, 내가 놓친 게 뭔가?

답변

6

나는 dasun의 대답에 대해 자세히 알고 싶다. 그는 표준 memcached에서 모든 키를 얻을 수있는 방법이 없다는 것이 맞습니다. 그러나 탭 스트림을 통해이를 수행 할 수있는 memcached의 다른 맛이 있습니다. Membase 서버를 사용하는 경우이 작업을 수행 할 수 있습니다 (캐시 버킷을 사용하는 경우 Membase는 거의 memcached 임). 또는 https://github.com/membase/memcached에서 찾을 수있는 memcached의 Membase 분기를 사용할 수 있습니다. Membase 브랜치는 사용하기에 확실히 안전하며 많은 memcached 참여자가 Membase (현재 Couchbase)에서 작업하고이 브랜치의 내용을 메인 memcached 분기에 다시 제공합니다.

Enyim 클라이언트는 탭 API를 지원하지 않지만 탭을 지원하는 Java, C/C++, Python 및 Ruby 클라이언트가 있습니다. 당신이 할 일은 탭 덤프 스트림을 생성하는 것이며,이 스트림은 memcached/Membase의 모든 키 값 쌍을 보낼 것입니다.

2

아니요, 할 수 없습니다. Memchached는 이러한 목적으로 설계되지 않았습니다 (캐싱은 모든 항목을 검색하는 것이 아니라 무의미합니다).

+0

캐시 된 항목 목록에서 단일 항목을 제거하려는 경우 중요합니다 .... – Deano

+0

저장 및 검색 기능에 관계없이 캐시의 내용을 분석하는 것은 종종 중요합니다. – ladenedge

+0

답변에 동의한다고 대답했지만 누구나 내가 왜 투표를해야하는지 설명 할 수 있습니까? – Dasun