天天看點

将session儲存到redis中的方法

方法一、

session.save_handler = redis

session.save_path = “tcp://127.0.0.1:6379″

修改後重新開機php-fpm或nginx,phpinfo()

方法二、

ini_set(“session.save_handler”,”redis”);

ini_set(“session.save_path”,”tcp://127.0.0.1:6379″);

如果配置檔案/etc/redis.conf裡設定了連接配接密碼requirepass儲存session的時候會報錯,save_path這樣寫 tcp://127.0.0.1:6379?auth=authpwd 即可。

<?php
session_start();
$_SESSION['redis'] = "aaaaaa";
echo session_id();
echo "<br>";
echo $_SESSION['redis'];
echo "<br>";
$redis = new redis();
$redis->connect('192.168.1.108', 6379);
echo $redis->get("PHPREDIS_SESSION:ruk5i2vlu2hvtmfr5hig4l55f6");//這個key我是通過telnet到redis查的。
?>                
将session儲存到redis中的方法

echo session_id();顯示出來是ruk5i2vlu2hvtmfr5hig4l55f6,開始的時候,echo $redis->get("ruk5i2vlu2hvtmfr5hig4l55f6");不管怎麼樣都取不到值,因為memcache這樣是可以取 到值的,是以我就想redis估計也是這樣。telnet到redis看了一下,原來命名key值的方式是不一樣的,看下圖

将session儲存到redis中的方法

redis telnet檢視session

到這兒session存儲到redis是沒有問題了,怎麼同步呢。多伺服器時,redis是可以配置同步的

版權聲明:本文為CSDN部落客「weixin_34404393」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34404393/article/details/92084297