使用redis代替文件存储session信息

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:
<?php
/**
* Created by PhpStorm.
* User: chenxiaolong
* Date: 2016/11/6
* Time: 20:47
*/
class sessionmanager{
   private $redis;
   private $sessionsavepath;
   private $sessionname;
   public function __construct()
   {
       $this->redis = new Redis();
       $this->redis->connect('10.16.59.141',6400);
       $reval = session_set_save_handler(
           array($this,"open"),
           array($this,"close"),
           array($this,"read"),
           array($this,"write"),
           array($this,"destroy"),
           array($this,"gc")
       );
       session_start();
   }

   public function open($patn,$name){
       return true;
   }
   public function close(){
       return true;
   }
   public function read($id){
       $value = $this->redis->get($id);
       if($value) {
           return $value;
       } else {
           return false;
       }
   }
   public function write($id,$data){
       if($this->redis->set($id,$data)) {
           $this->redis->expire($id,300000);
           return true;
       } else {
           return false;
       }
   }
   public function destroy($id) {
       if($this->redis->delete($id)) {
           return true;
       }
       return false;
   }
   public function gc($maxlifetime){
       return true;
   }
   public function __destruct()
   {
       session_write_close();
       // TODO: Implement __destruct() method.
   }
}




<?php
/**
* Created by PhpStorm.
* User: chenxiaolong
* Date: 2016/11/6
* Time: 20:56
*/
include 'sessionmanager.php';
new sessionmanager();
$_SESSION['namehaha'] = 'lixiaolong';
$_SESSION['namehah'] = 'lixiaolong';
$_SESSION['namehaa'] = 'lixiaolong';
$_SESSION['namhaha'] = 'lixiaolong';
$_SESSION['namhaha'] = array('a'=>1,2,3,4,4);




<?php
/**
* Created by PhpStorm.
* User: chenxiaolong
* Date: 2016/11/6
* Time: 20:57
*/
include 'sessionmanager.php';
new sessionmanager();
var_dump($_SESSION);



wKioL1gfP7-wW3peAACpeCr0iGo883.png-wh_50

本文转自  陈小龙哈   51CTO博客,原文链接:http://blog.51cto.com/chenxiaolong/1870066

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
缓存 NoSQL fastjson
Shiro Session集群共享存入Redis中SimpleSession的transient 属性不能序列化
Shiro Session集群共享存入Redis中SimpleSession的transient 属性不能序列化
187 0
|
2月前
|
NoSQL Redis API
限流+共享session redis实现
【10月更文挑战第7天】
41 0
|
3月前
|
JSON 缓存 NoSQL
redis序列化数据时,如何包含clsss类型信息?
通过配置 `com.fasterxml.jackson.databind.ObjectMapper` 的 `enableDefaultTyping` 方法,可以使序列化后的 JSON 包含类信息。
55 2
|
6月前
|
存储 NoSQL Java
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
105 0
|
7月前
|
存储 缓存 NoSQL
实战:第十一篇:StringRedisTemplate获取redis信息,面试官突击一问
实战:第十一篇:StringRedisTemplate获取redis信息,面试官突击一问
|
NoSQL Redis
shiro的session信息放redis反序列化异常解决
shiro的session信息放redis反序列化异常解决
221 0
|
7月前
|
负载均衡 NoSQL Java
Spring Boot + Redis 处理 Session 共享
Spring Boot + Redis 处理 Session 共享
74 1
|
7月前
|
NoSQL 关系型数据库 MySQL
Redis入门到通关之Redis实现Session共享
Redis入门到通关之Redis实现Session共享
176 0
|
7月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
83 0
|
7月前
|
存储 NoSQL 前端开发
【SpringBoot】Redis集中管理Session和自定义用户参数解决登录状态及校验问题
【SpringBoot】Redis集中管理Session和自定义用户参数解决登录状态及校验问题
195 0