Ruby Memcached maninuplating存储数据

时间:2011-03-18 11:09:08

标签: ruby memcached

我将数组存储在memcached(见下文)

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

我需要从数组中弹出一个值并再次在Cache中更新数组

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

有没有直接的方法可以从存储在Cache中的数组中弹出值,并且数组会自动更新?实际上要存储的数组非常庞大,首先获取数组,弹出值然后使用更新的数组执行Cache.set将会非常昂贵。

谢谢,

姆兰

1 个答案:

答案 0 :(得分:1)

我不相信memcached中有一个内置版本的pop命令。根据{{​​3}}仅提供这些命令

      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

<强>更新

如果您正在开始寻找其他选择。我强烈建议您使用redis。它通过memcached提供了更多的命令。

例如,您可以通过多种方式从redis数组中弹出值。

在这里查看整套SPOP