【PHP】如何将SESSION数据存放到Redis中
在php中,SESSION的数据默认是存放到文件中,这样性能不仅不高,而且不利于扩展。在搭建集群后,默认存放到文件中就不适用了。所以,我们一般将SESSION自定义,让SESSION中的数据存放到 数据库
中、Memcache
中、Redis
中。
今天介绍如何将SESSION数据存放到Redis
中。
前提条件: 设置将session数据放到redis中,前提是php所在的服务器必须安装了redis的phpredis扩展。否则php会报错。
步骤如下:
-
修改php.ini
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
-
重启apache
以上这种方式,扩展性不好,因为只能使用到一台redis服务器的资源。
方式二:通过 ini_set() 函数设置
代码如下
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 即可。