通常我们将session存储到memcached,但是有时候老大让你将session存储到Redis怎么办,因此有必要了解下如何将session存到redis。


step1、服务器上需要安装redis扩展(以php7为例)

#以安装php7为例,简单起见直接安装了全部的包yuminstallphp70w.x86_64php70w-cli.x86_64php70w-common.x86_64\php70w-gd.x86_64php70w-ldap.x86_64php70w-mbstring.x86_64\php70w-mcrypt.x86_64php70w-mysql.x86_64php70w-pdo.x86_64\php70w-fpmphp70w-devel#peclinstallredis#vim/etc/php.ini加入一行:extension=redis.so



step2、修改php.ini配置

vim /etc/php.ini 相关部分代码如下:

#egrep-v'^;|^$'/etc/php.ini|grepsessionsession.save_handler=redis#默认的设置是file,这里改成redissession.save_path="tcp://192.168.2.11:6379?auth=passwd"#这里填redis的连接配置参数;session.save_path="tcp://192.168.2.11:6379"#如果redis不带密码,则使用这种配置session.use_strict_mode=0session.use_cookies=1session.use_only_cookies=1session.name=PHPSESSID#这个名字可以自己改session.auto_start=0session.cookie_lifetime=0session.cookie_path=/session.cookie_domain=session.cookie_httponly=session.serialize_handler=phpsession.gc_probability=1session.gc_divisor=1000session.gc_maxlifetime=1440session.referer_check=session.cache_limiter=nocachesession.cache_expire=180session.use_trans_sid=0session.hash_function=0session.hash_bits_per_character=5


存储到redis里面的keys的名称是类似 PHPREDIS_SESSIONxxxxxxxxx ,我们只需要连接到redis,并执行 keys PHPREDIS_SESSION* 即可列出全部的sessionkeys

例如:

>keysPHPREDIS_SESSION*"PHPREDIS_SESSION:55fsmg64ooebqqaotlue6050g7">get"PHPREDIS_SESSION:55fsmg64ooebqqaotlue6050g7"#即可查看到session里面的数据。