• 技术文章 >php教程 >PHP源码

    Session Manager by Redis

    PHP中文网PHP中文网2016-05-26 08:19:05原创388

    SessionManager.php

    <?php 
    	/**
    	* SessionManager
    	*/
    	class SessionManager
    	{
    		private $redis;
    		private $sessionSavePath;
    		private $sessionName;
    		private $sessionExpireTime = 30;
    
    		function __construct()
    		{
    			$this->redis = new Predis\client();
    			$this->redis->connect('127.0.0.1', 6379);
    
    			$retval = 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 '';
    			}
    		}
    
    		public function write($id, $data)
    		{
    			var_dump($id);
    			if ($this->redis->set($id, $data)) {
    				$this->redis->expire($id, $this->sessionExpireTime);
    				return true;
    			}
    			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();
    		}
    	}
     ?>

    session_set.php

    <?php 
    	require '../Predis/src/Autoloader.php';
    
    	Predis\Autoloader::register();
    
    	include("SessionManager.php");
    	new SessionManager();
    
    	$_SESSION['username'] = "xugang";
    
    	echo "<a href = './session_get.php'>session</a>";
     ?>

    session_get.php

    <?php 
    	require '../Predis/src/Autoloader.php';
    
    	Predis\Autoloader::register();
    
    	include("SessionManager.php");
    	new SessionManager();
    	echo $_SESSION['username'];
     ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:段子搬运工 下一篇:PHP生成分页
    Web大前端开发直播班

    相关文章推荐

    • PHP一个敏感信息过滤思路• 多文件上传• php截取中文字符串不乱码的方法_php实例• PHP最常用的正则表达式_php技巧

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网