• 首先要做的就是安装redis

安装方法:http://redis.io/download

Installation
Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-2.8.19.tar.gz
$ tar xzf redis-2.8.19.tar.gz
$ cd redis-2.8.19
$ make
The binaries that are now compiled are available in the src directory. Run Redis with:
$ src/redis-server
You can interact with Redis using the built-in client:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
  • 然后是安装phpredis扩展 redis.so

安装方法参考:http://www.lecloud.net/post/3378834922/install-redis-php-extension-phpredis-with

/////////////////////////////
//以下代码为参考网站安装方法,请根据自己的实际安装位置自由调整,
/////////////////////////////
cd /usr/local
sudo mkdir src
cd /usr/local/src
sudo mkdir phpredis-build
cd phpredis-build
sudo git clone --depth 1 git://github.com/owlient/phpredis.git
cd phpredis
sudo phpize
sudo ./configure
sudo make
sudo make install cd /usr/local/lib/php5/
sudo gedit php.ini
如果没有配置 extension_dir 的话请配置到你的extension的路径
cp redis.so /usr/local/lib/php5/extension/
加入一行: extension = redis.so
重启nginx 和 php-fpm 就输出phpinfo 就能看到redis 扩展安装完成
  • 设置php.ini

找到; session.save_handler = files这一行 ,修改为 session.save_handler = redis,把原来的session存储方式改微redis方式这样会提高速度,原因是redis是在内存读取必然比在文件读取要快一些

找到; session.save_path = "/tmp"这一行 ,修改为 session.save_path = "tcp://127.0.0.1:8888",这是指向了本地的tcp服务,这个服务一会是由我们的redis启动

重启nginx 和 php-fpm 就输出phpinfo 就能看到session 保存方式和路径发生了改变

  • 启动redis服务

    redis-server --port 8888 &
    

    编写php代码

    <?php
    header("Content-type:text/html;charset=utf-8");
    session_start();//这个很重要 $_SESSION['test_session']= @array('name' =>'fanqie' , 'ccc'=>'hello redis '); $redis = new redis();
    $redis->connect('127.0.0.1', 8888);
    echo 'sessionid>>>>>>> PHPREDIS_SESSION:' . session_id();
    echo '<br/>';
    echo '<br/>';
    //redis用session_id作为key并且是以string的形式存储
    echo '通过php用redis获取>>>>>>>'.$redis->get('PHPREDIS_SESSION:' . session_id());
    echo '<br/>';
    echo '<br/>';
    echo '通过php用session获取>>>>>>><br/>';
    echo '<pre>';
    var_dump($_SESSION['test_session']);
    echo '</pre>';

    页面输出,我们可以看出我们已经成功存储并且通过redis成功获取到了存储的值

    sessionid>>>>>>> PHPREDIS_SESSION:fmd75d3dfrlkp43eh567f7dsi5
    
    通过php用redis获取>>>>>>>test_session|a:2:{s:4:"name";s:6:"fanqie";s:3:"ccc";s:12:"hello redis ";}
    
    通过php用session获取>>>>>>>
    array(2) {
    ["name"]=>
    string(6) "fanqie"
    ["ccc"]=>
    string(12) "hello redis "
    }

    使用redis客户端查看在redis库中已经存储可以查询到hello redis 这条记录了

    dangcheng@dangcheng-pc:~$ redis-cli -p 8888
    127.0.0.1:8888> select 0
    OK
    127.0.0.1:8888> keys *
    1) "PHPREDIS_SESSION:fmd75d3dfrlkp43eh567f7dsi5"
    127.0.0.1:8888> get PHPREDIS_SESSION:fmd75d3dfrlkp43eh567f7dsi5
    "test_session|a:2:{s:4:\"name\";s:6:\"fanqie\";s:3:\"ccc\";s:12:\"hello redis \";}"
    127.0.0.1:8888>

让php Session 存入 redis 配置方法的更多相关文章

  1. session 存入redis 或 memcache 的方法

      Session简介 session,中文经常翻译为会话,其本来的含义是 指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session.有时候我们 ...

  2. 将php中session存入redis中

    PHP 的会话默认是以文件的形式存在的,可以配置到 Redis 中,即提高了访问速度,又能很好地实现会话共享! 配置方式如下: 方法一:修改 php.ini 的设置 session.save_hand ...

  3. session存入redis

    Session信息入Redis Session简介 session,中文经常翻译为会话,其本来的含义是 指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一 ...

  4. php session存入redis

    php的会话默认以文件的形式存在,可以配知道NOSQL中,既可以提高访问速度又能好好的实现回话共享,在后期做负载均衡时实现多台服务器session 同步也是比较方便: 一:在php配置文件中改 修改p ...

  5. session 存入 redis

    <?php header('content-type:text/html;charset=utf-8'); /* * 更改 session 存储位置及存储方式. */ ini_set('sess ...

  6. Win10 + Nginx 1.10 + PHP 7 + Redis 配置方法

    软件包版本 软件 版本 - 链接 - Nginx nginx-x32-1.10.2.zip 下载 PHP php-7.0.12-nts-Win32-VC14-x64 下载 Redis php_redi ...

  7. Spring Boot 2 实践记录之 Redis 及 Session Redis 配置

    先说 Redis 的配置,在一些网上资料中,Spring Boot 的 Redis 除了添加依赖外,还要使用 XML 或 Java 配置文件做些配置,不过经过实践并不需要. 先在 pom 文件中添加 ...

  8. Spring-Session实现Session共享Redis集群方式配置教程

    循序渐进,由易到难,这样才更有乐趣! 概述 本篇开始继续上一篇的内容基础上进行,本篇主要介绍Spring-Session实现配置使用Redis集群,会有两种配置方式,一种是Redis-Cluster, ...

  9. redis 集群目标、集群查看、配置方法及过程、哨兵配置启动

    集群目标 主从复制,读写分离:故障切换(通过哨兵实现) 查看集群状态 info replication 配置方法 只设置从数据库就可以了:最佳实践,在主数据库配置masterauth <mast ...

随机推荐

  1. WordPress常用插件

    1.Remove Open Sans font Link from WP core 由于Wordpress后台外链加载了谷歌字体(代码位置在wordpress\wp-includes\script-l ...

  2. PAT (Advanced Level) 1070. Mooncake (25)

    简单贪心.先买性价比高的. #include<cstdio> #include<cstring> #include<cmath> #include<vecto ...

  3. Qt5:随窗口大小变化背景图片自动缩放的实现

    在窗口程序中,当我们改变窗口大小的时候,背景图片通常会岁窗口大小变化而缩放 然而,在我们写的窗口程序中,设置背景图片后,如果缩放大小,会看到背景图片并不会随之缩放, 应为这需要特殊处理,一般常用的方法 ...

  4. Halcon相关

      1.Halcon的自我描述 Program Logic Ø Each program consists of a sequence of HALCON operators Ø The progra ...

  5. 如何在Android中添加系统服务

    一,在frameworks/base/core/java/android/content/Context.java中添加 public static final String RADIO_SERVIC ...

  6. Java谜题——库谜题

    1.Java中的不可变对象和可变对象 (1)不可变类:当你获得这个类的实例的引用之后,你不可以改变这个实例的内容.比如:String,BigInteger,BigDecimal,还有基本数据类型的封装 ...

  7. Apache和PHP的优化

    调优 Apache Apache 是一种高度可配置的软件.它具有大量特性,但每一种都代价高昂.从某种程度上来说,调优 Apache 来说就是以恰当的方式分配资源,还涉及到将配置简化为仅包含必要内容. ...

  8. 获取手机wifi下的网络地址

    #import "getIPhoneIP.h" #import <ifaddrs.h> #import <arpa/inet.h> @implementat ...

  9. 关于iOS开发中info.plist文件的解读

    我们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除.  下面就对其ke ...

  10. iOS搜索框UISearchBar

    当你在seachBar中输入字母之前的时候,只是用鼠标选中searchBar的时候,如图 终端输出截图如下:(这个时候调用先shouldBeginEditing,之后调用didBeginEditing ...