在文件夹redis-3.2.0下
1. 启动redis服务
nohup ./src/redis-server redis.conf & 2. 停止服务
#使用客户端./src/redis-cli shutdown#因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的kill -9 PID
#使用`redis-cli`客户端检测连接是否正常./src/redis-cli127.0.0.1:6379> keys *(empty list or set)127.0.0.1:6379> set key "hello world"OK127.0.0.1:6379> get key"hello world" 在PHP环境中把session 存到redis 设置php.ini
session.save_handler = redis
session.save_path="127.0.0.1:6379"
测试redis存储session
';$redis = new Redis();$redis->connect('ipaddress', 6379);//redis用session_id作为key并且是以string的形式存储echo $redis->get('PHPREDIS_SESSION:' . session_id());?>
输出:
- this is session content!
- sessionid|s:24:"this is session content!";
从输出内容可以看到,无论从$_SESSION['key'],还是$redis->get('PHPREDIS_SESSION:'.session_id())都可以输出内容,证明session确实已经存储到redis中。
如果设置php.ini以后通过phpinfo()查看session.save_handler和session.save_path并没有变化,还是原来的file,那就是因为有其他conf覆盖了这些配置。很可能是/etc/php-fpm.conf或者/etc/php-fpm.d/*.conf,找到并修改,重启php-fpm即可。