Redis使用示例及在PHP环境中用redis存储session

it2022-05-09  34

   在文件夹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-cli 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> set key "hello world" OK 127.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 <?php //如果未修改php.ini下面两行注释去掉 //ini_set('session.save_handler', 'redis'); //ini_set('session.save_path', 'tcp://127.0.0.1:6379'); session_start(); $_SESSION['sessionid'] = 'this is session content!'; echo $_SESSION['sessionid']; echo '<br/>'; $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即可。

转载于:https://www.cnblogs.com/beyang/p/8301633.html


最新回复(0)