2011-03-18 3 views
0

내가 배열에서 하나 개의 값을 팝업가루비 Memcached가의 maninuplating 저장된 데이터

arr = Cache.get 'an_array' 
val = arr.pop 
Cache.set 'an_array', arr 

다시 캐시의 배열을 업데이트해야

Cache.set 'an_array', [1,2,3,4,5.....N] 

(아래 참조) memcached의 배열을 저장하고 거기에 캐시에 저장된 배열에서 값을 팝 할 수있는 직접적인 방법과 배열을 자동으로 업데이 트합니까? 실제로 저장 될 배열은 매우 거대하며 배열을 먼저 가져 와서 값을 팝업 한 다음 업데이트 된 배열로 Cache.set을 수행하면 비용이 많이 듭니다.

감사합니다,

이므 란

답변

1

내가 memcached를 사용할 수 팝 명령의 내장 버전이 믿지 않는다. 사용할 수있는 wiki 만이 명령에 따라

 o Standard Protocol 
      + No Reply 
     o Storage Commands 
      + set 
      + add 
      + replace 
      + append 
      + prepend 
      + cas 
     o Retrieval Commands 
      + get 
      + gets 
     o delete 
     o incr/decr 
     o Statistics 
      + stats 
      + stats items 
      + stats slabs 
      + stats sizes 
     o flush_all 

업데이트 :

당신이 시작하고 다른 옵션을 찾고 있습니다. 나는 귀하의 경우에 대단히 권고 할 것입니다. memcached보다 높은 명령 집합을 제공합니다.

예를 들어, redis 배열의 값을 여러 방법으로 팝 할 수 있습니다.

  • SPOP
  • 체크 아웃 여기 redis command의 전체 세트를 BLPOP

  • BRPOP
  • RPOP
  • LPOP
    • .

    +0

    감사합니다. Ramesh. 그건 그렇고, 사용자 정의 사용을 위해 그러한 기능을 구현할 수 있습니까? – Saim

    +0

    Memcached 내부에는 어떤 편의도 없습니다. 하지만 소스가 열려 있기 때문에 가능합니다. – RameshVel

    +0

    @ 이므 먼, 다른 옵션에 대한 제 편집을 확인하십시오 .... – RameshVel