Laravel多服务器内存缓存会话

时间:2018-06-27 20:34:10

标签: laravel session memcached

我想让Laravel使用配置文件中列出的所有内存缓存服务器来存储会话,因为它现在只能使用一台服务器。

每个会话都必须设置到所有服务器,并且即使其中一台服务器宕机也必须获取会话。

我知道会话系统包装了缓存系统,但是我仍然不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

假设您正在使用php-memcached客户端,则无法执行此操作。当您将此客户端配置有多个服务器时,它会散列密钥以确定该值(在您的情况下为会话)将发送到哪个服务器。有些客户端允许通过将值发送到多个服务器来进行复制,但这不是一个常见功能。

如果您使用寿命长的会话,或者要确保它们不会被删除,则不应使用memcached(用于该问题的任何缓存)来存储会话。即使您可以使用多个服务器,当缓存已满时,LRU算法也可能会退出会话。在这种情况下,请使用文件或数据库之类的永久性存储。

相关问题