zoukankan      html  css  js  c++  java
  • PHP分布式中Redis实现Session

    方法一:
    找到配置文件php.ini,修改为下面内容,保存并重启服务

    session.save_handler = redis
    session.save_path = "tcp://127.0.0.1:6379"

    方法二:
    直接在代码中加入以下内容:

    ini_set("session.save_handler", "redis");
    ini_set("session.save_path", "tcp://127.0.0.1:6379");

    注:如果配置文件redis.conf里设置了连接密码requirepass,save_path需要这样写tcp://127.0.0.1:6379?auth=authpwd ,否则保存session的时候会报错。

    测试:

    <?php
    //ini_set("session.save_handler", "redis");
    //ini_set("session.save_path", "tcp://127.0.0.1:6379");
    
    session_start();
    
    //存入session
    $_SESSION['class'] = array('name' => 'toefl', 'num' => 8);
    
    //连接redis
    $redis = new redis();
    $redis->connect('127.0.0.1', 6379);
    
    //检查session_id
    echo 'session_id:' . session_id() . '<br/>';
    
    //redis存入的session(redis用session_id作为key,以string的形式存储)
    echo 'redis_session:' . $redis->get('PHPREDIS_SESSION:' . session_id()) . '<br/>';
    
    //php获取session值
    echo 'php_session:' . json_encode($_SESSION['class']);
  • 相关阅读:
    扩欧(exgcd讲解)
    Django组件之forms
    Django组件之用户认证
    Django之中间件
    Django之cookie与session
    Django组件之分页器
    Django之Ajax
    Django之模型层2
    Django之模型层
    Django之模板层
  • 原文地址:https://www.cnblogs.com/luyucheng/p/6168686.html
Copyright © 2011-2022 走看看