* 安装redis
到redis官网 https://redis.io/
wget http://download.redis.io/releases/redis-4.0.11.tar.gz
下载不了
git clone https://github.com/antirez/redis
参照runoob:PHP 使用 Redis
Windows:
- 假设redis已经安装好 服务启动
https://github.com/ServiceStack/redis-windows
- xampp (php 7.1 x86 windows)
查看phpinfo (php 7.1 x86/x64 ts/uts vc14/vc15)
Zend Extension Build API320160303,TS,VC14
PHP Extension Build API20160303, TS,VC14
https://windows.php.net/downloads/pecl/releases/igbinary/2.0.6rc1/
https://windows.php.net/downloads/pecl/releases/redis/3.1.4/php_redis-3.1.4-7.2-ts-vc15-x86.zip
; php.ini
extension=php_igbinary.dll
extension=php_redis.dll
查看phpinfo 有redis扩展
test
<?php
$redis = new Redis();
$redis->connect('172.16.0.224', 16379);
$redis->auth("redis_requirepass");
echo "Connection to server sucessfully<br />";
//设置 redis 字符串数据
$redis->set("tutorial-name", "Redis tutorial");
// 获取存储的数据并输出
echo "Stored string in redis:: " . $redis->get("tutorial-name");
Mac:
下载php-redis,地址:https://nodeload.github.com/nicolasff/phpredis/zip/master 这个版本太高
https://github.com/phpredis/phpredis/releases/tag/3.1.2
或者 git clone https://github.com/phpredis/phpredis
git branch -a
git checkout -b 分支名
wget https://codeload.github.com/phpredis/phpredis/zip/3.1.2 -O php-redis-3.1.2.zip
链接: https://pan.baidu.com/s/1-08Wb7TsigVa1fj9k_oByg 密码: ny9g
curl https://nodeload.github.com/nicolasff/phpredis/zip/master > phpredis-master.zip
mv ~/Downloads/phpredis-master.zip .
unzip phpredis-master.zip -d .
cd ./phpredis-master
phpize
若未安装autoconf,则会报错 $ brew install autoconf
./configure --with-php-config=`which php-config`
make
make test
sudo make install
Linux:
wget https://codeload.github.com/phpredis/phpredis/zip/3.1.2 -O php-redis-3.1.2.zip
unzip php-redis-3.1.2.zip -d .
./phpredis-3.1.2/
/opt/lampp/bin/phpize-7.3.7
./configure --with-php-config="/opt/lampp/bin/php-config-7.3.7"
make -j4
sudo make install
sudo emacs /Applications/XAMPP/etc/php.ini
+++++++++++++++++++++++++++++++++
extension="redis.so"
================================
重启apahce后
php -m|grep redis
查看phpredis扩展是否开启。
test:
<?php
function ul($arList) {
echo "<ul>";
foreach ($arList as $el) {
echo "<li>".htmlspecialchars($el)."</li>";
}
echo "</ul>";
}
$redis = new Redis();
$handle = $redis->connect("127.0.0.1", 16379);
$redis->auth("secret");
if (!$handle) {
echo "<p>Conenct to redis failed!</p>";
}
echo "Connect to server successfull<br />";
echo "<pre>";
var_dump($handle);
echo "</pre>";
echo "<p>Server is running: ".$redis->ping()."</p>";
$redis->del("test:string");
$redis->set("test:string", "Redis Tutorial");
echo "Stored string in redis::".$redis->get("test:string")."<br />";
$redis->del("test:list");
$a = ["Redis", "MongoDB", "MySQL"];
array_walk($a, function($item, $key) use ($redis) {
$redis->lpush("test:list", $item);
});
$arList = $redis->lrange("test:list", 0, 5);
ul($arList);
$keys = $redis->keys("test:*");
ul($keys);
常见的php版本对应的redis:
php5.6:
wget https://github.com/phpredis/phpredis/archive/3.1.2.zip
PHP session改为redis (默认的是文件)
//方式一,在php脚本中设置更改php会话写入方式
<?php
ini_set("session.save_handler","redis");
ini_set("session.save_path","tcp://127.0.0.1:6379");
//如果有密码
ini_set("session.save_path","tcp://127.0.0.1:6379?auth=password");
?>
//修改php的配置文件php.ini
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
//如果有密码
session.save_path = "tcp://127.0.0.1:6379?auth=password"