* 安裝redisphp
到redis官網 https://redis.io/html
wget http://download.redis.io/releases/redis-4.0.11.tar.gznode
下載不了git
git clone https://github.com/antirez/redisgithub
參照runoob:PHP 使用 Redisredis
Windows:windows
- 假設redis已經安裝好 服務啓動bash
https://github.com/ServiceStack/redis-windowssession
- xampp (php 7.1 x86 windows)curl
查看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"