gpt4 book ai didi

php - 在 Memcache 中更新/设置缓存数组的元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:36:26 32 4
gpt4 key购买 nike

我使用的 CMS 默认实现了 memcached,我正在努力扩展它。一个键包含一系列用户信息,如 userstats_id 并包含论坛帖子计数、他们喜欢的帖子数量等等信息。 key 如下所示:

[userstats_1] => Array
(
[forum_posts] => 178
[forum_likes] => 16
[forum_dislikes] => 0
[now_online] => 1
)

我正在扩展这个 key 的用途,因为我还想存储用户正在浏览的特定论坛,例如:

[userstats_forumbrowsing_1] => Array
(
[forum_browsing] => 'Foobar'
)

如果我能在 [userstats_1] 中包含它会更好,因为这当然更有意义。因此,考虑到这比该缓存数组的其余元素更频繁地更改,获取和设置缓存数组元素的最佳方法是什么?

我想出的唯一方法是复制数组,对其进行操作,然后将其重新设置到缓存中,但这似乎很疯狂。谢谢!

最佳答案

不,不幸的是,因为 memcached 是一个简单的键值存储,您不能修改或访问由单个键寻址的值的一部分。

所以你有两个选择:

  1. 做你提到的“疯狂”事情:使用单个键存储数组,获取整个数组,修改一个元素,然后设置整个数组.
  2. 为每个部分使用单独的 key ,并分别获取设置

哪个更好取决于部件的相对大小、它们的使用模式以及保持一致性的重要性。

或者另一种选择是不使用 memcached,而是使用 Redis,它扩展了简单的键值模型以包括 data types , 包括 hashes支持您想要的更新类型。

关于php - 在 Memcache 中更新/设置缓存数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9331130/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com