Ruby Memcached 操作存储的数据

发布于 2024-10-22 21:03:52 字数 361 浏览 2 评论 0原文

我正在 memcached 中存储一个数组(见下文)

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

我需要从数组中弹出一个值并再次更新缓存中的数组

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

有没有一种直接的方法可以从存储在缓存中的数组中弹出值并数组会自动更新吗?实际上,要存储的数组非常巨大,首先获取数组、弹出值然后使用更新后的数组执行 Cache.set 的成本非常高。

谢谢,

伊姆兰

I am storing an array in memcached (see below)

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

I need to pop one value from the array and update the array in Cache again

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

Is there a direct way I can pop the value from array stored in Cache and the array get updated automatically? Actually the array to be stored is very huge and it will be very costly to first fetch the array, pop the value and then do a Cache.set with updated array.

Thanks,

Imran

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初熏 2024-10-29 21:03:52

我不相信 memcached 中有内置版本的 pop 命令可用。根据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

更新:

如果您正在开始并寻找其他选择。我强烈推荐 redis 适合你的情况。它提供了比 memcached 更高的命令集。

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

查看整套redis 命令在这里。

I don't believe there is an in-built version of pop command available in memcached. According to the wiki only these commands available

      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

Update:

If you are starting and looking for other options. i would highly recommend redis for your case. It provides higher set of commands over memcached.

For example, you can pop the value from redis array in multiple ways.

Check out the whole set of redis commands here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文