首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aws Redis群集会话管理不工作

Aws Redis群集会话管理不工作
EN

Server Fault用户
提问于 2017-08-28 09:29:19
回答 1查看 1K关注 0票数 0

我们在aws中使用nginx运行php7,在AWS集群中处理会话,但是会话没有存储在are集群中。有时起作用,但大多数时候不起作用。

在php.ini中,已更改为session.save_handler = redis和session.save_path = "tcp://redis配置端点:6379“

在这方面请帮忙。

EN

回答 1

Server Fault用户

发布于 2018-05-02 22:04:33

您的会话保存处理程序被设置为redis,而不是redis群。请参阅:https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#session-handler

您需要确保redis群集是会话的注册保存处理程序。您可以在phpinfo()中检查。

您还在为您的save_path使用redis样式,而不是redis群集样式。这只需要主机名: save_path中的端口,但至少需要一个种子。它应该看起来类似于:

代码语言:javascript
复制
session.save_handler = rediscluster
session.save_path = seed[]=redis-config-endpoint:6379&option=value

其中选项是在cluster.markdown文件中定义的任何选项(超时、read_timeout、持久、故障转移)。也许还会分发)。

主节点和从节点之间的故障转移和分发似乎没有文档化(我计划提出一个Github问题),但是如果每个节点上只有几个碎片和一个节点,我认为这应该可以工作(因为AWS不要求您列出每个节点的端点,只列出配置端点)。您实际上不需要指定任何选项。

您还需要调整会话垃圾收集的生存期,以及在给定的session_start()调用中发生这种情况的可能性,以确保清除旧会话。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/870768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档