让php Session 存入 redis 配置方法
2024-10-16 14:09:08
首先要做的就是安装redis
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>
最新文章
- 向ES6看齐,用更好的JavaScript(一)
- struts中Cookie实现记住密码
- ora-01658 :无法为表空间USERS 中的段创建INITIAL区
- 【CITE】C#入门学习-----简单画图程序
- 帮哥们做的一个整理文档的小工具(C++ string的标准函数还是很给力的,代码在最下)
- 数据库笔试题(经典select语句的用法)【转载】
- oracle查询优化
- C#软件winform程序安装包制作及卸载程序制作
- c#一个简单的实例告诉你,多继承还可以这么来
- php+mysql+nginx+liunx 服务搭建
- redis 安装与使用
- not annotated with HTTP method type (ex. GET, POST) 问题解决
- python 内置方法expandtabs 把字符串格式化成列表输出
- MYSQL的基本函数 (加密函数)
- 关于linux 内存碎片指数
- spring boot jpa 多条件组合查询带分页的案例
- web压力测试工具(小而精)
- With Visual Studio, Open Same File In Two Windows, Updates Reflected in Both
- HDUOJ---3743Frosh Week(BIT+离散化)
- 31. Ubuntu15.04系统中如何启用、禁用客人会话
热门文章
- Struts+Spring+Hibernate的Web应用执行过程
- Mercurial hg web server的配置
- 比较好的前端方法库及一些vue如何引入静态文件
- springMVC和spring上下文的关系
- process想停就停,真爽
- 编译内核启用iptables及netfilter
- Andriod学习笔记 - 参考
- C#调用SCL2008 动态库SCL_API_cdecl.dll or SCL_API_Stdcall.dll,提示找不到指定模块
- PHP 多线程、多进程
- [Unity Quaternion]四元数Quaternion的计算方式