使用 Memcached 实现 Session 共享
使用 Memcached 实现 Session 共享
文章图片
应用场景
当有很多用户的时候,这些用户的登录位置在各个不同的服务器上,因为 session 是生成在服务器上的,当用户互访的时候,有的时候发现自己有权限,有时候发现自己没有权限。因为缓存是集中式的,所有的缓存都在一起,那么就可以把 session 放到 memcached 缓存中。所有服务器都可以在公用的服务器上面来取 session,这样无论用户在哪一台服务器上面登录,都有正确的 session。这样的话,有两个优点,第一,解决了 session 共享的问题。第二,当用户量很大的时候,session 是存放在服务器上面的,因此就会增加了磁盘的 IO,但是如果放在缓存中,性质则完全不一样。实现方式
- 设置 php.ini 配置文件
- 将 seesion 存储方式改为 memcached
1337 session.save_handler = files
【使用 Memcached 实现 Session 共享】因此需要修改成 memcached
session.save_handler = "memcached"
- 修改 session 存放位置
1366 ;
session.save_path = "/var/lib/php/sessions"
修改为
注意:192.168.174.128 是我虚拟机的 ip 地址,这里需要修改成你 memcached 服务器的 ip 地址
# 对于 php 5.6 及以下,需要写成如下
session.save_path = "tcp://192.168.174.128:11211"# 对于 php 7 以上可以直接写成
session.save_path = "192.168.174.128:11211"
- 如果只想单个 php 文件,取 session 的时候直接取缓存中取的话,可以如下设置
- 另外还可以采用 apache 或者 nginx 的方式设置
原文地址
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入