php安裝redis擴充套件及操作redis
php安裝redis擴充套件及操作redis
關於redis使用終端可以使用但是瀏覽器頁面無法使用的情況
Redis是遠端的基於記憶體的非關係型資料庫。
下載redis
wget download.redis.io/releases/redis-5.0.2.tar.gz
解壓
tar –xvf download.redis.io/releases/redis-5.0.2.tar.gz
解壓後進入解壓後的目錄 執行make編譯
再執行 make install安裝
如果提示出錯缺少gcc tcl自行安裝
執行時要配合配置檔案
複製配置檔案 :
cp redis.conf /home/redis.conf
修改這個檔案
Daemonize no改為yes 意思是redis將作為後臺系統
Port 9379修改成7200或其他可不改;
執行:redis-server的絕對路徑配合配置檔案
redis-server /home/redis.conf
驗證是否執行 ps aux|grep redis-server
進入客戶端:redis-cli -h 127.0.0.1 -p 7200
Redis的五種資料型別
1 string 型別 : 儲存一個字串或整型
使用set 設定一個字串 set a = 1;
使用get 獲取一個字串的值 get a
使用incr 進行自增 incr a
使用incrby 進行有步長的自增 incrby a 2
使用decr進行自減 decr a
使用decrby進行有步長的自減
2 list型別 (左邊推入元素右邊獲取元素) 儲存一個序列集合用於佇列
從左邊push一個元素 lpush list1 1
從左邊push一個元素lpush list1 2
從右邊pop一個元素rpop list1 結果是1
檢視元素個數 llen list1 結果是1 因為從右邊取出了一個
List可以有重複的元素
3 set型別 一個無序集合每個元素都不一樣
向set型別中新增一個元素 sadd set1 1
向set型別中刪除一個元素 srem set1 1
檢視set型別中是否含有某個元素 sismember set1 1
檢視set型別中有多少元素 scard set1
Set型別中不能含有重複的元素
4 hash型別 key-value結構 key必須是字串 比較複雜的資料結構
向hash型別中新增一個元素 hset hash1 key1 1
從hash型別中取出對應元素 hget hash1 key1
檢視hash型別的長度 hlen hsah1
取出多個元素 hmget hash1 key1 key2
5 sort set 型別操作(有序分數集) 分數和元素的對映
新增一個元素到sort set 型別 zadd zset1 10.1 val1
新增一個元素到sort set 型別 zadd zset1 0.9 val2
檢視sort set 型別的元素個數 zcard zset1
檢視指定排名順序 zrange zset1 0 2 withscores
檢視某個元素的排名 zrank zset1 val1
修改某個元素 zadd zset1 10.2 val1
如果兩個元素的scroce一樣就按照兩個字典順序排列
Php安裝redis擴充套件和memcached差不多
使用php –m檢視是否已安裝redis擴充套件
wget https://github.com/phpredis/phpredis/archive/develop.zip
解壓後 進入目錄執行
/usr/local/php/bin/phpize生成configure工具
再執行 ./configure --with-php-config=/usr/local/php/bin/php-config
使用make編譯安裝 make && make install
結果是:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
而非: Installing shared extensions: /usr/lib64/php/modules/
PS 安裝前必須要有phpize 和 php-config 沒有則使用yum install php-devel安裝phpize 和 php-config一般都有不需要安裝
編輯配置檔案 php –ini檢視php.ini的位置是 /usr/local/php/etc/php.ini
則 vi /usr/local/php/etc/php.ini使用shift+g調到最後一行新增
/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so
儲存退出 重啟伺服器
再次使用php –m檢視是否安裝成功
phpinfo檢視是否存在
操作redis
參考文件 : https://github.com/phpredis/phpredis
Redis類的名稱空間是根
Phpredis的命令和引數基本和redis.io中的實際命令對應
$redis = new \Redis();
$redis->connect(‘127.0.0.1’,7200);
如果報錯:
Uncaught exception 'RedisException' with message 'Connection refused' in /home/wwwroot/default
看看redis服務有沒有啟動
String操作
$redis->set("string1","val1");
$val1 = $redis->get("string1");
echo $val1;
echo "\n";
$redis->set("string1",4);
$redis->incr("string1");
$val2 = $redis->get("string1");
echo $val2;
終端執行 : php a.php
List型別操作 注意大小寫
$redis->lPush("list1",'a');
$redis->lPush("list1",'b');
echo $redis->rPop("list1"); //a
set型別操作
$redis->sAdd("set1","a");
$redis->sAdd("set1","b");
$val3 = $redis->sCard("set1");
var_dump($val3);
$val4 = $redis->sMembers("set1");
var_dump($val4);
hash型別操作
$redis->hSet("drever1",'age',21);
$redis->hSet("drever1",'name','xiaoming');
echo $redis->hGet('drever1','age');
var_dump($redis->hMget('drever1',array('age','name')));
//sort set操作
$redis->zAdd('zset1',100,'xiaoming');
$redis->zAdd('zset1',90,'xiaohong');
$redis->zAdd('zset1',95,'xiaowang');
var_dump($redis->zRange('zset1',0,-1)); //-1表示全部 0從第一個開始 從低到高
var_dump($redis->zRevRange('zset1',0,-1)); //從到低
redis的主從複製,讀寫分離
模式:一個主伺服器,兩個從伺服器
首先複製兩個配置檔案作為從伺服器的配置檔案例如
cp /root/redis-5.0.2/redis.conf /root/redis-5.0.2/redis6380.conf
cp /root/redis-5.0.2/redis.conf /root/redis-5.0.2/redis6381.conf
然後再修改內容 兩個檔案都要修改 改成對應的埠及名字
pidfile /var/run/redis6380.pid
port 6380
dbfilename dump6380.rdb //這個兩個配置檔案只要一個寫就行了 另一個關閉save 900 1 ...三行
slaveof <masterip><masterport> 開啟 改成 slaveof localhost 6379 就是主伺服器的redis埠
如果沒有slaveof就是replicaof
開啟只讀,預設開啟上面的slaveof即配置好了只讀
關閉aof appendonly no
再修改主配置檔案
由於有一個從從伺服器產生rdb所以不用產生rdb註釋掉save 900 1...三行
開啟aof appendonly yes
然後開啟三個redis服務測試在主伺服器裡建立一個key在其他兩個客戶端看看能不能收到,能不能修改
PS
主伺服器設定密碼
requirepass 密碼
從伺服器使用密碼授權
masterauth 密碼
從伺服器客戶端連線成功後使用auth 密碼 才可獲取主伺服器的值
相關文章
- PHP安裝redis擴充套件PHPRedis套件
- MAC XAMPP 整合使用Redis 及 安裝php redis擴充套件MacRedisPHP套件
- Homestead 安裝 PHP Redis 擴充套件PHPRedis套件
- docker PHP 安裝 Redis 擴充套件DockerPHPRedis套件
- MAC下安裝php-redis擴充套件MacPHPRedis套件
- PHP 操作 Redis 之 phpredis 擴充套件PHPRedis套件
- Homestead 安裝 Redis 擴充套件Redis套件
- 在Windows下為PHP安裝redis擴充套件WindowsPHPRedis套件
- php7安裝redis6擴充套件PHPRedis套件
- 131 Windows 環境下安裝redis 及其PHP Redis擴充套件WindowsRedisPHP套件
- redis和php-redis擴充套件在windows下的安裝過程RedisPHP套件Windows
- php8.2 redis擴充套件PHPRedis套件
- PHPStudy 安裝tp8 php8.1.3 安裝XDbug、redis擴充套件PHPRedis套件
- CentOS安裝RabbitMQ及PHP擴充套件CentOSMQPHP套件
- laragon 新增 PHP_Redis 擴充套件GoPHPRedis套件
- Laragon新增PHP_Redis擴充套件GoPHPRedis套件
- PHP 擴充套件安裝PHP套件
- PHP 7.3.8 安裝 ext-Redis 擴充套件 報錯處理方案PHPRedis套件
- PHP 安裝 yaconf 擴充套件PHP套件
- (MAC) PHP擴充套件安裝MacPHP套件
- php mysql擴充套件安裝PHPMySql套件
- php amqp擴充套件安裝PHPMQ套件
- 【PHP】Mcrypt 擴充套件模組安裝及使用PHP套件
- php以及php擴充套件memcache 安裝PHP套件
- PHP擴充套件php-redis 用起來so easyPHP套件Redis
- php 擴充套件安裝(隨筆)PHP套件
- PHP 安裝 amqp、rabbitmq 擴充套件PHPMQ套件
- laradock 中安裝 PHP 擴充套件PHP套件
- Linux 上安裝 PHP 擴充套件LinuxPHP套件
- Laravel homestead 安裝 PHP 擴充套件LaravelPHP套件
- laradock 中安裝 Redis 擴充套件的正確姿勢Redis套件
- Redis 實戰 —— 13. 擴充套件 RedisRedis套件
- 【PHP】php安裝bcmath擴充套件指令碼PHP套件指令碼
- PHP:php7.2.3 安裝pcntl 擴充套件PHP套件
- 手把手教你配置php的redis擴充套件PHPRedis套件
- PHP Linux安裝擴充套件(編譯安裝)PHPLinux套件編譯
- PHP安裝ssh2擴充套件PHP套件
- php7.2 安裝phpredis擴充套件PHPRedis套件