zoukankan      html  css  js  c++  java
  • Redis使用示例及在PHP环境中用redis存储session

       在文件夹redis-3.2.0下

       1. 启动redis服务

    nohup ./src/redis-server redis.conf &

    2. 停止服务
    #使用客户端
    ./src/redis-cli shutdown
    #因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
    kill -9 PID


    #使用`redis-cli`客户端检测连接是否正常
    ./src/redis-cli
    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379> set key "hello world"
    OK
    127.0.0.1:6379> get key
    "hello world"


    在PHP环境中把session 存到redis

    设置php.ini

      session.save_handler = redis  

      session.save_path="127.0.0.1:6379"


    测试redis存储session
    <?php
    //如果未修改php.ini下面两行注释去掉
    //ini_set('session.save_handler', 'redis');
    //ini_set('session.save_path', 'tcp://127.0.0.1:6379');
    session_start();
    $_SESSION['sessionid'] = 'this is session content!';
    echo $_SESSION['sessionid'];
    echo '<br/>';
    
    $redis = new Redis();
    $redis->connect('ipaddress', 6379);
    //redis用session_id作为key并且是以string的形式存储
    echo $redis->get('PHPREDIS_SESSION:' . session_id());
    ?>
    

      输出:

    1. this is session content!  
    2. sessionid|s:24:"this is session content!";  

    从输出内容可以看到,无论从$_SESSION['key'],还是$redis->get('PHPREDIS_SESSION:'.session_id())都可以输出内容,证明session确实已经存储到redis中。

    如果设置php.ini以后通过phpinfo()查看session.save_handler和session.save_path并没有变化,还是原来的file,那就是因为有其他conf覆盖了这些配置。很可能是/etc/php-fpm.conf或者/etc/php-fpm.d/*.conf,找到并修改,重启php-fpm即可。



  • 相关阅读:
    石墨烯
    spring 安装
    orm 对象关系映射
    刷机问题
    环境必备
    spring 例子
    刷系统——黑屏问题
    android 文件下载
    c# 事件处理
    回忆测试广告理论
  • 原文地址:https://www.cnblogs.com/beyang/p/8301633.html
Copyright © 2011-2022 走看看