我将数组存储在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
将会非常昂贵。
谢谢,
姆兰
答案 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。