laravel - Laravel 多服务器 memcached 会话
问题描述
我想让 Laravel 使用配置文件中列出的所有 memcached 服务器来存储会话,因为它现在只能使用一台服务器。
此外,每个会话都必须设置到所有服务器并获取,即使其中一台服务器关闭。
我知道会话系统包装了缓存系统,但我仍然不知道从哪里开始。
解决方案
假设您正在使用php-memcached
客户端,则无法执行此操作。当您使用多个服务器配置此客户端时,它会散列密钥以确定将值(在您的情况下为会话)发送到哪个服务器。有一些客户端允许通过将值发送到多个服务器来进行复制,但这不是一个常见的功能。
如果您使用长寿命会话或希望确保它们不会被删除,则不应使用 memcached(与此相关的任何缓存)来存储会话。即使您可以使用多个服务器,当缓存已满时,会话也可能被 LRU 算法驱逐。在这种情况下,请使用永久存储,例如文件或数据库。
推荐阅读
- email - 使用 Mailgun 管理用户选择加入
- php - 通过电子邮件导航到我的网站,让我退出我的网站
- r - 为什么 scale_y_continuous 在这里不起作用?没有给出错误信息
- reactjs - 本地存储是否能够存储大容量数据?
- scala - 将 RDD[String] 转换为数据框
- c# - 如何在静态方法中设置 asp:SqlDataSource 的 SeletCommand?
- wordpress - 在 WooCommerce 中为最小数量设置错误消息
- angular - 无法通过角度提出编辑请求
- c# - 如何使用内存使用 C# 打开创建的 WorkBook,而不保存它?
- vb.net - 使用 vb.net 应用程序运行宏以格式化 Word 文档