php使用redis做缓存和使用redis保存session
## php使用redis ### 一、ubuntu上安装php的redis模块 1. 我安装的是php7.3 1. 直接使用命令:sudo apt install php-redis 1. 重启php-fpm: /etc/init.d/php7.3-fpm restart 1. 使用phpinfo()查看php的配置信息,检查是否启动redis模块 ### 二、安装redis 参考我的redis的安装教程 ### 三、php连接redis 1. 连接和使用redis ``` redis_host = "localhost"; $redis_port = "6379"; $redis = new Redis(); $redis->connect($redis_host,$redis_port); echo "成功连接redis"; echo ""; echo "服务器测试:".$redis->ping(); echo ""; $redis->set("test","bruce,common",['NX','EX'=>60*3]); echo "获取redis值:".$redis->get("test"); $redis->close(); //如果不手动关闭,redis自动会关闭,时间默认值是300s,可在php.ini中更改 ``` 1. redis的使用方法都在$redis的对象可以直接调用 ### 四、php的session使用redis 修改php.ini - 因为使用fpm运行php,所以php.ini的路径/etc/php/7.3/fpm/php.ini - vim php.ini修改一下两个值 ``` session.save_handler = redis //默认是files session.save_path = "tcp://localhost:6389" // 如果有密码:session.save_path = "tcp://localhost:6389?auth=password",端口也可以自己设置 ``` - 重启fpm ,方法同上 如果不能修改php.ini那只能程序里面设置 ``` // 设置显示错误气提示 ini_set('display_errors', true); error_reporting(E_ALL); // 配置session 存储于redis ini_set('session.save_handler', 'redis'); ini_set('session.save_path', 'tcp://127.0.0.1:6379?auth=123456789'); ``` 1. 查看redis中的session ``` connect($redis_host,$redis_port); echo "成功连接redis"; echo ""; echo "服务器测试:".$redis->ping(); echo ""; $arList = $redis->keys('PHPREDIS_SESSION*'); print_r($arList); echo ""; echo "session的key".$arList[0]."session的值".$redis->get($arList[0]); $redis->close(); ```