Redis应用——使用Redis存储Session
来源:互联网 发布:xmanager连接linux图形 编辑:程序博客网 时间:2024/04/28 22:03
PHP默认使用文件存储Session,但如果并发量很大,效率非常低。而Redis对高并发的支持非常好,所以,可以使用Redis替代文件存储Session。
session_set_save_handler ( callable$open , callable$close , callable$read , callable$write , callable$destroy , callable$gc )注意:该类中我们实例化了一个Redis对象来操作Redis内存数据库,但PHP中默认是没有安装redis的扩展,故我们需要先安装phpredis扩展,安装方法可参考:http://blog.csdn.net/lamp_yang_3533/article/details/52555111
在讲解实例之前,先了解PHP的session_set_save_handler()函数的作用和使用方法。该函数可以设置用户级别的Session处理函数(如打开、写入、修改、删除等)。
该函数的返回值为布尔类型。
注意:在使用该函数之前,先把php.ini配置文件的session_save_handler选项的值设置为 user,否则session_set_save_handler()函数不会生效。
编写一个Session管理类SessionManager.php文件,代码如下:
类中的构造函数主要用来连接Redis服务器,使用session_set_save_handler()函数设置自定义的Session处理函数,并调用session_start()函数开启session。由于本例中的open、close和gc回调函数的作用不是很大,所以直接返回true。
在write回调函数中,以sessionid作为key,把session数据作为value存储到Redis内存数据库,设置session的过期时间为1800秒。在read回调函数中,以sessionid作为key从Redis服务器中读取数据,并返回此数据。而在destroy回调函数中,则以sessionid作为key从Redis服务器中删除对应的session数据。
使用时只需包含SessionManager类,然后实例化一个SessionManager对象。下面的例子就是使用SessionManager来管理session,这里我们创建一个session_set.php文件演示如何写入session,代码如下:
然后,再创建一个session_get.php,演示如何读取session,代码如下:
测试时,先访问session_set.php,再访问session_get.php。从测试结果可以看出,Session变量能够实现跨页面访问,说明SessionManager能够正常工作。另外,我们可以通过sessionid从Redis内存数据库中查询到相关的session数据。
0 0
- Redis应用——使用Redis存储Session
- 使用redis存储session
- thinkphp使用redis存储session
- Tomcat 使用Redis存储Session
- 使用spring session存储session到redis
- tomcat使用redis存储共享session
- Asp.net Core 使用Redis存储Session
- asp.net使用redis存储session(RedisSessionStateProvider)
- redis实战之使用redis存储session数据
- redis实战之使用redis存储session数据
- Session存储到Redis
- Tomcat7+Redis存储Session
- Tomcat7+Redis存储Session
- Tomcat7+Redis存储Session
- php Redis存储Session
- Tomcat7+Redis存储Session
- Session存储到Redis
- Tomcat7+Redis存储Session
- 传统jdbc的缺点
- css基础知识(一)
- JAVA基础--类加载&对象创建过程
- ICPC-第三场网络赛-3-hannnnah_j’s Biological Test(组合数应用)
- 如何用十条命令在一分钟内检查Linux服务器性能
- Redis应用——使用Redis存储Session
- HDU 5505 GT and numbers【思维+GCD】
- Java 版本的单项链表插入
- 41. First Missing Positive
- VC++获取本机所有IP和掩码信息
- 第三周项目4-顺序表应用(1)
- 【Derivation】随机过程及应用(三) - 高斯分布/正态分布的期望和方差
- TYZ 9/13 MAZE2
- 简单技巧写出侧滑菜单