首先要做的就是安装redis
安装方法:http://redis.io/download
installationdownload, 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$ makethe binaries that are now compiled are available in the src directory. run redis with:$ src/redis-serveryou can interact with redis using the built-in client:$ src/redis-cliredis> set foo barokredis> get foobar
然后是安装phpredis扩展 redis.so
安装方法参考:http://www.lecloud.net/post/3378834922/install-redis-php-extension-phpredis-with
///////////////////////////////以下代码为参考网站安装方法,请根据自己的实际安装位置自由调整,/////////////////////////////cd /usr/localsudo mkdir srccd /usr/local/srcsudo mkdir phpredis-buildcd phpredis-buildsudo git clone --depth 1 git://github.com/owlient/phpredis.gitcd phpredissudo phpizesudo ./configuresudo makesudo make installcd /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代码
'fanqie' , 'ccc'=>'hello redis ');$redis = new redis();$redis->connect('127.0.0.1', 8888);echo 'sessionid>>>>>>> phpredis_session:' . session_id();echo '
';echo '
';//redis用session_id作为key并且是以string的形式存储echo '通过php用redis获取>>>>>>>'.$redis->get('phpredis_session:' . session_id());echo '
';echo '
';echo '通过php用session获取>>>>>>>
';echo '';var_dump($_session['test_session']);echo '
';
页面输出,我们可以看出我们已经成功存储并且通过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 8888127.0.0.1:8888> select 0ok127.0.0.1:8888> keys *1) phpredis_session:fmd75d3dfrlkp43eh567f7dsi5127.0.0.1:8888> get phpredis_session:fmd75d3dfrlkp43eh567f7dsi5test_session|a:2:{s:4:\name\;s:6:\fanqie\;s:3:\ccc\;s:12:\hello redis \;}127.0.0.1:8888>