无法访问我从 2 个单独的脚本添加的 memcached 中的项目

发布于 2024-12-03 11:32:33 字数 370 浏览 1 评论 0原文

好的,所以如果我从一个脚本添加对象,我无法从另一个脚本访问它,反之亦然。这很奇怪。

如果我使用 memcached-tool 进行转储,并且得到类似这样的结果...这是可以的,两个对象都在里面(candidate_2 和 Candidate_1 都是 public_group 组的一部分)。

添加 1:public_group:candidate_2 0 1315556543 11 add :public_group:candidate_1 0 1315556543 13

我猜问题是一个元素在组定义前面有“1”。我尝试谷歌搜索什么,但什么也没有。有人有什么想法吗?

thnx

ps: // 使用 php &默认内存缓存客户端脚本

ok, so if i add object from one script i cannot access it from the other and vice versa. which is strange.

if i do the dump using memcached-tool and i get something like this ... which is ok both of the object are inside (candidate_2 and candidate_1 both are part of the public_group group).

add 1:public_group:candidate_2 0 1315556543 11
add :public_group:candidate_1 0 1315556543 13

I guess the problem is that one element has that "1" infront of the group definition. What is that i tried googlin' and nothing. Does anyone has any idea ?

thnx

ps: // using php & default memcache client script

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

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

发布评论

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

评论(1

云胡 2024-12-10 11:32:33

我认为你必须向我们展示代码。第一个密钥 (1:public_...) 中的 1: 是一个不同的密钥,我怀疑您使用的代码没有生成相同的密钥。

您可能想为您的对象创建一个像这样的函数

public function generate_memcache_key() {
    $key = $this->id . ':public_group:candidate_:' . $this->candidate_id;
    return $key;
}

通过将密钥生成合并到您的对象中,您将减少动态错误创建密钥 ID 的风险。

I think you have to show us the code. The 1: in the first key (1:public_...) is a different key, I suspect that the code you are using isn't generating identical keys.

You may want to create a function for your object like this

public function generate_memcache_key() {
    $key = $this->id . ':public_group:candidate_:' . $this->candidate_id;
    return $key;
}

By incorporating the key generation into your object, you'll run less risk of having on-the-fly mis-creation of key ids.

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