亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Redis > 正文

用redis實現跨服務器session

2020-03-22 17:49:26
字體:
來源:轉載
供稿:網友
  • 這個月我們新開發了一個項目,由于使用到了4臺機器做web,使用dns做負載均衡,


    上面圖上用戶通過DNS的調度(一個域名對應多個ip)分別訪問到VM2-VM5上,四臺機器都訪問VM1上的redis,兩個redis值主從結構.
    因此需要使用跨服務器的session保存用戶登錄狀態,于是我寫了一個跨站的session共享的類

    <?php    /*     *用redis實現跨服務器session     *注意需要安裝phpredis模塊     *     *作者:yifangyouwww.it165.net     *日期:2012-07-23 22:55:00    **/html' target='_blank'>class RedisSession{    var $expire=86400;//過期時間    var $sso_session;//session id    var $session_folder;//session目錄    var $cookie_name;//cookie的名字    var $redis;//redis連接    var $cache;//緩存session    var $expireAt;//過期時間    /*     *初始化     *參數     *$redis:php_redis的類實例     *$cookie_name:cookie的名字     *$session_id_prefix:sesion id的前綴    **/    function RedisSession($redis,$expire=86400,$cookie_name="sso_session",$session_id_prefix=""){        $this->redis=$redis;        $this->cookie_name=$cookie_name;        $this->session_folder="sso_session:";    //若是cookie已經存在則以它為session的id        if(isset($_COOKIE[$this->cookie_name])){             $this->sso_session=$_COOKIE[$this->cookie_name];        }else{            $this->expire=$expire;            $this->expireAt=time()+$this->expire;         //在IE6下的iframe無法獲取到cookie,于是我使用了get方式傳遞了cookie的名字            if(isset($_GET[$this->cookie_name])){                    $this->sso_session=$_GET[$this->cookie_name];            }else{                    $this->sso_session=$this->session_folder.$session_prefix.md5(uniqid(rand(), true));                }            setcookie($this->cookie_name,$this->sso_session,$this->expireAt,"/");        }    }        /*     *設置過期時間     *參數    **/    function expire($expire=86400){            $this->expire=$expire;            $this->expireAt=time()+$this->expire;            //設置session過期時間            setcookie($this->cookie_name,$this->sso_session,$this->expireAt,"/",".greatwallwine.com.cn");            $this->redis->expireAt($this->sso_session, $this->expireAt);    }        /*     *設置多個session的值     *參數     *$array:值    **/    function setMutil($array){        $this->redis->hMset($this->sso_session,$array);    }    /*     *設置session的值     *參數     *$key:session的key     *$value:值    **/    function set($key,$value){        $this->redis->hSet($this->sso_session,$key,$value);    }    /*     *設置session的值為對象     *參數     *$key:session的key     *$object:對象    **/    function setObject($key,$object){        $this->redis->hSet($this->sso_session,$key,serialize($object));    }        /*     *獲取全部session的key和value     @return: array    **/    function getAll(){        return $this->redis->hGetAll($this->sso_session);    }                /*     *獲取一個session的key和value     @return: array    **/    function get($key){        return $this->redis->hGet($this->sso_session,$key);    }      /*     *獲取session的值為對象     *參數     *$key:session的key     *$value:cookie的名字    **/    function getObject($key){        return unserialize($this->redis->hGet($this->sso_session,$key));    }    /*     *從緩存中獲取一個session的key和value     @return: array    **/    function getFromCache($key){        if(!isset($this->cache)){            $this->cache=$this->getAll();        }        return $this->cache[$key];    }        /*     *刪除一個session的key和value     @return: array    **/    function del($key){        return $this->redis->hDel($this->sso_session,$key);    }    /*     *刪除所有session的key和value     @return: array    **/    function delAll(){        return $this->redis->delete($this->sso_session);    }}?>

    使用方法:
    <?phperror_reporting(0);$redisHost="192.168.1.2";$redisPort="6379";$redis = new Redis();$redis->connect($redisHost,$redisPort);include_once("inc/RedisSession.php");$redisSession=new RedisSession($redis);/*$redisSession->set("name","sdf4");$redisSession->set("age",1234);$redisSession->set("***","man14");$redisSession->set("name","abc4");$redisSession->setMutil(array("province"=>"guangdong","city"=>"guangzhou"));*/$redisSession->setObject("obj",array("test1"=>array("test2")));$obj=$redisSession->getObject("obj");print_r($obj);die();print_r($redisSession->getAll());//$redisSession->del("name");print_r($redisSession->get("name"));//print_r($redisSession->get("province"));//$redisSession->delAll();//print_r($redisSession->getAll());print_r($redisSession->getFromCache("name"));/*    $redisSession->del("name");    $redisSession->delAll();*/

    比較常用的估計是set,get,setObject,getOject
    我用sso_session:我主要是方便用phpRedisAdmin管理


    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    久久久伊人日本| 在线丨暗呦小u女国产精品| 亚洲男人天堂九九视频| 日韩中文字幕在线看| 国产精品日韩欧美| 日韩av在线最新| 亚洲第一天堂av| 69久久夜色精品国产69| 亚洲人成在线观| 91久久久亚洲精品| 日韩禁在线播放| 91免费看片网站| 美女999久久久精品视频| 国产91精品最新在线播放| 成人网页在线免费观看| www.久久色.com| 成人免费在线视频网站| 国产精品劲爆视频| 91亚洲午夜在线| 久久久久久亚洲精品中文字幕| 亚洲尤物视频网| 国产午夜精品久久久| 亚洲成人网在线观看| 中文字幕亚洲一区二区三区五十路| 国产成人自拍视频在线观看| 欧美精品电影免费在线观看| 欧美精品在线观看| 亚洲国产成人久久综合一区| 97视频在线观看网址| 欧美又大粗又爽又黄大片视频| 国产精品va在线播放| 久久成人亚洲精品| 亚洲国产精品999| 成人字幕网zmw| 亚洲精品视频播放| 永久555www成人免费| 欧美性色xo影院| 中文字幕日韩欧美在线视频| 一本色道久久综合狠狠躁篇怎么玩| 久久久99久久精品女同性| 亚洲成人亚洲激情| 欧美极度另类性三渗透| 另类色图亚洲色图| 成人激情春色网| 欧美亚洲国产成人精品| 26uuu日韩精品一区二区| 日韩精品免费综合视频在线播放| 久久久天堂国产精品女人| 欧美日韩福利在线观看| 成人激情电影一区二区| 久久精品国产亚洲精品2020| 日本一区二区不卡| 麻豆国产精品va在线观看不卡| 久久理论片午夜琪琪电影网| 久久97久久97精品免视看| 亚洲最大在线视频| 91精品久久久久久久久久另类| 91亚洲va在线va天堂va国| 精品动漫一区二区| 日韩在线免费视频观看| 久久精品免费播放| 久久久噜噜噜久噜久久| 国产91精品青草社区| 青青草99啪国产免费| 亚洲一区国产精品| 91成人福利在线| 国产在线不卡精品| 亚洲xxxx在线| 91国语精品自产拍在线观看性色| 日韩在线观看免费全集电视剧网站| 在线观看日韩欧美| 日韩欧美在线观看| 久久久久久久久久久久久久久久久久av| 亚洲少妇中文在线| 国产精品99久久99久久久二8| 欧美极品少妇xxxxⅹ免费视频| 欧美性极品少妇精品网站| 精品一区精品二区| 欧美一区二区三区图| 欧美中文字幕视频在线观看| 亚洲天堂av在线免费观看| 亚洲国产精品va在线看黑人动漫| 欧美日韩亚洲精品内裤| 国产精品久久91| 日韩免费在线电影| 日韩在线观看精品| 日韩精品亚洲视频| 亚洲欧美中文日韩在线| 成人激情视频在线观看| 日韩在线视频网| 欧美亚州一区二区三区| 亚洲一级一级97网| 亚洲精品女av网站| 成人妇女免费播放久久久| 国产精品ⅴa在线观看h| 欧美资源在线观看| 国产精品久久久久久久9999| 一区二区三欧美| 中文字幕日本欧美| 国产精品成人一区| 国产精品久久久久久久久久久新郎| 中国日韩欧美久久久久久久久| 国产精品黄色影片导航在线观看| 欧美成人全部免费| 国产午夜精品全部视频播放| 欧美亚洲一区在线| 性欧美长视频免费观看不卡| 日日骚久久av| 正在播放国产一区| 久久久久久久一区二区| 亚洲天堂免费视频| 国内精品视频久久| 国产精品久久久久福利| 国产成人精品视| 亚洲免费视频一区二区| 欧美精品少妇videofree| 一区二区欧美日韩视频| 亚洲人永久免费| 亚洲精品成人久久| 国产精品吴梦梦| 欧美日韩国产中文精品字幕自在自线| 日韩精品极品视频| 欧美日韩在线视频首页| 久久精品久久久久久国产 免费| 97超级碰碰人国产在线观看| 欧美黑人巨大xxx极品| 亚洲香蕉av在线一区二区三区| 中文字幕日韩av电影| 久久久久一本一区二区青青蜜月| 精品国模在线视频| 亚洲一区亚洲二区亚洲三区| 蜜臀久久99精品久久久无需会员| 亚洲电影第1页| 91日本视频在线| 亚洲石原莉奈一区二区在线观看| 久久精品99久久久久久久久| 91丨九色丨国产在线| 大胆欧美人体视频| 国产精品自产拍在线观看中文| 国产mv免费观看入口亚洲| 精品国产网站地址| 久久97精品久久久久久久不卡| 国产精品久久97| 国产精品中文字幕在线| 中文字幕亚洲无线码在线一区| 欧美另类在线观看| 日韩精品中文字幕在线| 久久精品国产欧美激情| 综合久久五月天| 亚洲色图日韩av| 亚洲一区二区三区视频| 91精品久久久久久久久久久| 国产精品视频区1| 国产精品国模在线| 亚洲国产精品人人爽夜夜爽| 欧美国产中文字幕| 在线视频亚洲欧美| 一区二区欧美亚洲| 欧美激情亚洲精品| 久久91亚洲精品中文字幕奶水| 欧美成人免费大片| 日韩av观看网址| 九九久久久久久久久激情| 日本免费一区二区三区视频观看|