您的位置 首页 php

redis结合php

redis 如何结合php并且实现session共享?

26189167ac284144bf92bd9f9d92878e

1.Redis扩展模块安装

1. 先安装php的redis扩展,和memcached安装是一样的。

首先可以去pecl.php.net 官网下载安装包,我这里下载的2.8.21版本
# tar zxf redis-2.8.21.tgz
# cd redis-2.8.21
# /usr/local/php/bin/phpize
# ./configure –with-php-config=/usr/local/php/bin/php-config
# make && make installl安装完成

然后修改php.ini,在之前我已经把extension_dir = “./” 修改为

extension_dir = “/usr/local/php/extensions”了。

现在在添加一行
extension=”redis.so”保存

/usr/local/php/bin/php -m |grep redis 可以检验扩展模块是否添加成功。

php脚本测试可以按照之前memcached的文章一样的测试,这里就不说了可以看看前面的文章— —《memcached结合php》

2.Redis实现session共享

5489b927fe8647c6a42771a9ceb354e9

在apache虚拟主机加入(lamp环境测试)

php_valuesession.save_handler ” redis”

php_valuesession.save_path ” tcp://127.0.0.1:6379″

或者 php-fpm .conf对应的pool中加入(lnmp环境测试)

php_value[session.save_handler] = redis

php_value[session.save_path] = ” tcp://127.0.0.1:6379 ”

c95ffc40955f4277bdcddb71d6d6e4b5

3.Redis存储session测试

先编辑一个简单php测试文件

vim session.php

#############

<?php

session_start();

if (!isset($_SESSION[‘TEST’])) {

$_SESSION[‘TEST’] = time();

}

$_SESSION[‘TEST3’] = time();

print $_SESSION[‘TEST’];

print “<br><br>”;

print $_SESSION[‘TEST3’];

print “<br><br>”;

print session_id();

?>

####################

curl localhost/session.php

输出类似于1469333260<br><br>1469333260<br><br>jaesi8ummenfqbcnojvc6935p7

连接redis:/usr/local/redis/bin/redis-cli

127.0.0.1:6379> keys * //把所有的key都列出来

“PHPREDIS_SESSION:jaesi8ummenfqbcnojvc6935p7”

127.0.0.1:6379> get PHPREDIS_SESSION:jaesi8ummenfqbcnojvc6935p7

“TEST|i:1469333260;TEST3|i:1469333260;”

也可以用浏览器测试输入:IP/session.php

然后在redis上查看是否多出了一个和网页显示一样的key,get这个key可以得到value结果和浏览器显示的也是一致的。

7abfa059da1d47feb7258b02f5c67fd8

文章来源:智云一二三科技

文章标题:redis结合php

文章地址:https://www.zhihuclub.com/47501.shtml

关于作者: 智云科技

热门文章

网站地图