• 首先要做的就是安装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>

最新文章

  1. 向ES6看齐,用更好的JavaScript(一)
  2. struts中Cookie实现记住密码
  3. ora-01658 :无法为表空间USERS 中的段创建INITIAL区
  4. 【CITE】C#入门学习-----简单画图程序
  5. 帮哥们做的一个整理文档的小工具(C++ string的标准函数还是很给力的,代码在最下)
  6. 数据库笔试题(经典select语句的用法)【转载】
  7. oracle查询优化
  8. C#软件winform程序安装包制作及卸载程序制作
  9. c#一个简单的实例告诉你,多继承还可以这么来
  10. php+mysql+nginx+liunx 服务搭建
  11. redis 安装与使用
  12. not annotated with HTTP method type (ex. GET, POST) 问题解决
  13. python 内置方法expandtabs 把字符串格式化成列表输出
  14. MYSQL的基本函数 (加密函数)
  15. 关于linux 内存碎片指数
  16. spring boot jpa 多条件组合查询带分页的案例
  17. web压力测试工具(小而精)
  18. With Visual Studio, Open Same File In Two Windows, Updates Reflected in Both
  19. HDUOJ---3743Frosh Week(BIT+离散化)
  20. 31. Ubuntu15.04系统中如何启用、禁用客人会话

热门文章

  1. Struts+Spring+Hibernate的Web应用执行过程
  2. Mercurial hg web server的配置
  3. 比较好的前端方法库及一些vue如何引入静态文件
  4. springMVC和spring上下文的关系
  5. process想停就停,真爽
  6. 编译内核启用iptables及netfilter
  7. Andriod学习笔记 - 参考
  8. C#调用SCL2008 动态库SCL_API_cdecl.dll or SCL_API_Stdcall.dll,提示找不到指定模块
  9. PHP 多线程、多进程
  10. [Unity Quaternion]四元数Quaternion的计算方式