php中把session存入到redis中

  • Post author:
  • Post category:php


session一般存在服务器的tmp目录下,在我们访问php的网站的时候,一般会有个phpsessid的cookie,他的内容是服务器中tmp目录下的一个文件名,每个浏览器对应网站一个phpsessid,这个文件里面就包含了我们对当前访问用户设置的一些session值,比如存了的密码或者token。phpsessid这个名可以在php.ini配置文件中修改。搜索session.name,修改为自己所需的即可。

方法一:

修改php.ini实现

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

修改完后,重启web服务器

方法二:

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
// 如果未修改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('127.0.0.1', 6379);

// redis 用 session_id 作为 key 并且是以 string 的形式存储
echo $redis->get('PHPREDIS_SESSION:' . session_id());



版权声明:本文为qq_31648761原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。