内存一致性 ||螺纹干扰|| PHP

发布于 2024-10-07 15:34:20 字数 152 浏览 2 评论 0原文

我有关于用户会话的 Memcache 和会话锁定的问题。 我想锁定或做一些事情来防止用户会话的线程干扰...

我们有这样的情况:

如果服务器处于最大状态,用户将被重定向到“空闲”服务器,但此时某些数据是错误的。 ..

那么有人有什么建议吗:?

I have a question regarding Memcache and session lock for user session.
I want to lock or do something that will prevent Thread Interference for user session...

We have a situation like so:

If server is at max, user is redirected to "free" server, but a this point some of data are wrong...

So does anybody has any sugestions :?

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

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

发布评论

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

评论(2

此岸叶落 2024-10-14 15:34:20

您的所有 Memcached 服务器必须列在您的 app/etc/local.xml 文件中,并且每个服务器都相同,这样它们将共享会话数据。

或者或另外,更好的负载平衡策略是“一致散列”。用户将均匀分布在可用服务器上,每个用户将由同一台服务器处理,因此也是同一会话。

All your Memcached servers must be listed in your app/etc/local.xml file and be the same for each server, that way they will share the session data.

Alternatively - or additionally - a better load balancing policy would be "consistent hashing". Users would be spread evenly over the available servers and each user would be handled by the same server, and hence, same session.

拥有 2024-10-14 15:34:20

如果您想将会话分布在多个服务器上,我建议您使用一致的散列,因为它可以减少添加/删除服务器时的丢失次数。

Memcached 不支持锁定,但我相信新的 memcached 模块有一个解决方法,提供< a href="https://www.php.net/manual/en/memcached.sessions.php" rel="nofollow noreferrer">支持锁定。不过我还没有使用过它。

If you want to spread your sessions across multiple servers I would recommend using consistent hashing, as it reduces the number of misses when you add/delete servers.

Memcached does not support locking, but I believe a the new memcached module has a workaround that provides support for locking. I have however not used it yet.

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