摘要:以下對安裝客戶端基本操作擴展及中的基本接口備忘。這里的只起到提供配置文件模板的作用。當多個元素的相同時,按照其的字典順序排序。注意,需要事先運行。
Redis 安裝以下對 Redis 安裝、Redis 客戶端基本操作、PHP-Redis 擴展及 PHP 中 Redis 的基本接口備忘。本機環境為 Mac。
首先需要下載 Redis,訪問以下網址,選擇 Stable 版本下載:
https://redis.io/download
進入解壓后的文件夾,執行編譯:
make
之后執行:
make install
這一步會將 Redis 常用的命令如:redis-server, redis-cli 等放入 /usr/local/bin 中,相當于添加了環境變量。
Redis 基本操作 Redis 服務端啟動Redis 分為客戶端和服務器端,首先我們需要啟動服務端,執行:
redis-server
此時命令行會停滯在 Redis 服務啟動提示信息中,表示現在 Redis 服務端正在運行,可以使用 Ctrl + Z 中止。
但是,我們更希望 Redis 可以作為一種服務運行于后臺,此時需要修改 redis.conf 文件:
cd /your/path/to/redis/redis.conf
將 128 行的 daemonize 值修改為 yes,所在行數可能因版本而有所不同:
daemonize no => daemonize yes
然后重新啟動 Redis:
redis-server /your/path/to/redis/redis.conf
注意,即使修改了 redis.conf,也需要在 redis-server 后加上這一參數,否則仍然會以默認配置啟動。這里的 redis.conf 只起到提供配置文件模板的作用。
這之后可以查看當前運行的進程以檢查 Redis 服務的啟動情況:
ps aux|grep redis-server
停止服務可以執行:
redis-cli shutdownRedis 客戶端
執行以下指令進入客戶端:
redis-cli
當我們修改了默認端口號,或需要連接到遠程時,可以使用:
redis-cli -h 127.0.0.7 -p 6379Redis 數據類型
Redis 中有五種數據類型:
string:鍵值對形式,鍵為字符串類型,而值可以為字符串或數字;
list:在兩頭進行插入或刪除,可以模擬隊列和棧;
set:集合,不同元素的值均不相同;
hash:通過鍵可以所索引到一組鍵值對,可以類比二維關聯數組;
zset:有序集合,以 ( score, value ) 的方式組織,并會按照 score 值進行排序;
Redis 客戶端基本操作以下只備忘簡單指令,其他命令可以查閱:
https://redis.io/commands
以下指令需要進入 redis-cli 之后執行:
1. stringget key1 // 獲取 key1 鍵對應的值,若不存在會輸出 nil set key1 value1 // 設置 key1 => value1 鍵值對 set key2 123 // 設置 key2 為 123 incr key2 // 使 key2 對應的值自增 1 decr key2 // 使 key2 對應的值自減 1 incrby key2 10 // key2 對應的值加 10 decrby key2 10 // key2 對應的值減 102. list
lpush listA A // 向 listA 這一隊列的左邊加入 A rpush listA B // 向 listA 這一隊列的右邊加入 B lpop listA // 從 listA 這一隊列的左邊彈出第一個值 rpop listA // 向 listA 這一隊列的右邊彈出第一個值 llen listA // 得到 listA 的長度3. set
sadd setA A // 向 setA 這一集合中增加 A scard setA // 得到 setA 這一集合中的長度 sismember setA A // 判斷 A 是否為 setA 集合中元素 srem setA A // 從 setA 集合中移除 A 元素4. hash
hset hashA key1 A // 向 hashA 中添加鍵值對 key1 => A hget hashA key1 // 得到 hashA 中鍵 key1 對應的值 hlen hashA // 得到 hashA 含有的鍵值對數 hmget hashA key1 key2 // 獲得 hashA 中多個鍵對應的值5. zset
zadd zsetA 10.1 val1 // 向 zsetA 中加入 score 為 10.1 的 val1 zrange zsetA 0 4 // 獲得 zsetA 中從小到大排序第 0 到第 4 的元素 // 獲得 zsetA 中從小到大排序第 0 到第 4 的元素,輸出時附帶其對應的 score zrange zsetA 0 4 withscores
PHP-Redis 擴展注意,zset 中的排序按照 score 從小到大升序進行,第 0 為最小值。當多個元素的 score 相同時,按照其 value 的字典順序排序。
我們使用 phpize 和 configure 進行擴展安裝,可以通過 phpize -v 檢查是否已經安裝過 phpize,若沒有,可以使用以下方式進行安裝:
yum install php-devel下載擴展包
根據需要下載相應的擴展源碼包:
PHP5: https://codeload.github.com/phpredis/phpredis/zip/develop PHP7: https://codeload.github.com/phpredis/phpredis/zip/php7編譯擴展
解壓后進入文件夾中,執行:
phpize
然后執行:
./configure -with-php-config=/your/path/to/php/bin/php-config
后面的路徑會使得在之后的 make install 中將編譯后的 redis.so 放到擴展指定的目錄,省去了手動移動的步驟。
之后執行:
make
以及:
make install
添加擴展配置使用 MAMP 的同學在編譯遇到問題時可以參見參考:MAMP環境下安裝php擴展
最后,需要在配置文件添加擴展配置,可以使用以下指令查看 php.ini 文件的路徑:
php --ini
之后編輯 php.ini 文件,添加:
extension=redis.so
這時便可以在 echo phpinfo(); 中看到 Redis 擴展的信息了。
注意:若之前沒有使用 -with-php-config 參數,則需要在 make install 后,將生成的 modules/redis.so 移動到擴展所在目錄中,該目錄可以在 php.ini 中查看到:
extension_dir = /path/to/extensions/PHP 中使用 Redis
以下只羅列基礎的使用方式,詳細請參見 PHP-Redis 文檔
PHP 中使用 Redis 的方式和通過 redis-cli 使用的方式基本相同。注意,需要事先運行 redis-server。
連接 Redis$redis = new Redis(); $redis->connect("localhost");string
$redis->set("key1", "value1"); // 設置鍵值對 $redis->get("key1"); // 獲取值 $redis->set("number1", 123); $redis->incr("number1"); // 自增 $redis->decrBy("number1", 100); // 減法 $redis->get("number1");list
$redis->lPush("listA", "A"); // 向左側加入值 $redis->lPush("listA", "B"); $redis->lPush("listA", "C"); // 從右側彈出值,由此模擬隊列 $redis->rPop("listA");set
$redis->sAdd("setA", "A"); $redis->sAdd("setA", "B"); $redis->sAdd("setA", "C"); $redis->sAdd("setA", "A"); $redis->sCard("setA"); $redis->sMembers("setA"); // 輸出集合的全部元素hash
$redis->hSet("hashA", "name", "iname"); $redis->hSet("hashA", "age", "age"); // 同時設置多個值 $redis->hMset("hashA", [ "gender" => "male", "salary" => 12000 ]); $redis->hGet("hashA", "salary"); // 獲得多個值 $redis->hMGet("hashA", ["name", "gender"]);zset
$redis->zAdd("ZSetA", 12, "A"); $redis->zAdd("ZSetA", 10.3, "B"); $redis->zAdd("ZSetA", 11.9, "C"); $redis->zAdd("ZSetA", 9.99, "D"); $redis->zRange("ZSetA", 0, 2); // 輸出全部值 $redis->zRange("ZSetA", 0, -1); // 從大到小降序輸出 $redis->zRevRange("ZSetA", 0, -1);
redis 五種數據類型的使用場景 - CSDN
redis---安裝和開啟和關閉 - CSDN
MAMP PRO安裝PHP擴展的方法
MAMP環境下安裝php擴展 - CSDN
Linux下Redis安裝與PHP擴展(PHP7適用) - CSDN
Mac環境下安裝Redis - 簡書
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22499.html
摘要:以下分別備忘版本的部分新增特性。而且,在生成器沒有輸出完全時,使用會報錯。報錯定義常量數組多聲明數組解構運行時將部分指令轉為機器碼。對于計算密集型應用有較高的性能提升。 以下分別備忘 PHP 7.0 & 7.1 版本的部分新增特性。 PHP 7.0 ?? 運算符 $foo = null; $bar = $foo ?? 123; // 相當于 $bar = isset($bar) ? ...
本文關鍵闡述了運用Python完成簡易短信驗證碼解決,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,必須的朋友可以學習一下 前言 我們做獲取數據時,太快或瀏覽經常,或一瀏覽便給彈出來短信驗證碼,隨后蚌珠了~ 今天小編就給大家來個簡易解決短信驗證碼的辦法 自然環境控制模塊 這兒需要使用一個ddddocr模塊,這也是他人開源系統提前準備好的一樣東西,簡單又好用,可是精準度差一丟...
閱讀 1406·2021-11-19 11:38
閱讀 3562·2021-11-15 11:37
閱讀 803·2021-09-30 09:48
閱讀 946·2021-09-29 09:46
閱讀 893·2021-09-23 11:22
閱讀 1871·2019-08-30 15:44
閱讀 3389·2019-08-26 13:58
閱讀 2380·2019-08-26 13:26