一、会话共享
- session用户登录状态
| 会话保持方案 | 说明 |
|---|---|
| 使用ip_hash或一致性哈希算法 | 简单粗暴,容易导致负载不均 |
| 会话信息写入redis中 | 用户登录会话信息写入redis服务器中 |
| 不要会话信息,使用Token令牌代替 | 使用Oauth认证功能(需要开发代码实现) |
二、环境准备
- 安装redis配置密码
- 按装php的redis插件,修改配置文件
- 使用
2.1安装与配置redis
这里我是再数据库服务器上安装的redis
#安装
yum -y install redis
#再/etc/redis.conf文件中修改配置如下
egrep ‘^bind|^requirepass|^protec’ /etc/redis.conf
bind 127.0.0.1 -::1 172.16.1.51
protected-mode yes
requirepass Lidao996
#启动并开机自启动
systemctl enable –now redis-sentinel.service
#检查端口
ss -lntup |grep redis
#进入redis
redis-cli
redis-cli -a Lidao996
#输入info
#输入keys *
#安装
yum -y install redis
#再/etc/redis.conf文件中修改配置如下
egrep ‘^bind|^requirepass|^protec’ /etc/redis.conf
bind 127.0.0.1 -::1 172.16.1.51
protected-mode yes
requirepass Lidao996
#启动并开机自启动
systemctl enable –now redis-sentinel.service
#检查端口
ss -lntup |grep redis
#进入redis
redis-cli
redis-cli -a Lidao996
#输入info
#输入keys *
2.2php安装插件
php -m
一共有俩种方法
yum -y install php-redis
注意:麒麟系统不支持这个方法安装
注意:麒麟系统不支持这个方法安装
使用php专业工具安装 pecl安装命令
php go-pear.php
pecl install redis
文件我放在了pecl-chajian/ at main · firy-lgtm/pecl-chajian
直接下载即可
安装结果显示出successfully说明安装成功
第二行表示php插件的位置
最后进入/etc/php.ini文件在866行添加
extension=redis.so
#检查
php -m | grep redis
php go-pear.php
pecl install redis
文件我放在了pecl-chajian/ at main · firy-lgtm/pecl-chajian
直接下载即可
安装结果显示出successfully说明安装成功
第二行表示php插件的位置
最后进入/etc/php.ini文件在866行添加
extension=redis.so
#检查
php -m | grep redis
2.3创建数据库指定字符集
#进入mysql
mysql -uroot -p密码
#创建数据库并指定字符集
create database shop charset utf8mb4;
#添加到白名单
grant all on shop.* to ‘shop’@’172.16.1.%’ identified by ‘lidao’
grant all on shop.* to ‘shop’@’localhost’ identified by ‘lidao’
mysql -uroot -p密码
#创建数据库并指定字符集
create database shop charset utf8mb4;
#添加到白名单
grant all on shop.* to ‘shop’@’172.16.1.%’ identified by ‘lidao’
grant all on shop.* to ‘shop’@’localhost’ identified by ‘lidao’
2.4准备web与部署代码
chown -R 777 /var/lib/php/session/
2.5修改php与代码连接redis
vim /etc/php-fpm.d/www.conf
修改如下

代码连接redis
vim /app/code/shop/config/cache.php
结果如下
