在 http://www.redis.net.cn/ 能找到所有關於redis的信息,包括安裝、命令、在編程語言中的使用等等。這裏就不講如何安裝redis了,因爲在上面的網站中都能找到。下面直接講redis是如何在php中使用的,這裏我選擇的是phpredis擴展。
-
下載phpredis擴展
執行phpinfo()函數,根據下面截圖中的“NTS”和“VCn”選擇對應的壓縮包,https://github.com/phpredis/phpredis/downloads。另外注意,PHP版本也要對應好。 -
PHP配置安裝擴展
首先把壓縮包中的 php_igbinary.dll和php_redis.dll 文件放到PHP安裝目錄的 ext 目錄中
然後在 php.ini 添加如下配置
extension=php_igbinary.dll
extension=php_redis.dll
-
重啓apache,執行phpinfo()函數,會發現多了redis的擴展。
-
開啓Redis服務,測試
複製代碼
$redis = new Redis();
//連接redis服務器
$redis->connect(‘127.0.0.1’, ‘6379’);
echo "Connection to server sucessfully
";//查看服務是否運行
echo "Server is running: " . $redis->ping();
複製代碼
結果如下,連接redis服務器成功
Connection to server sucessfully
Server is running: +PONG
至此,我們可以在php中痛痛快快的使用redis了。
複製代碼
1 $redis = new Redis();
2 //連接redis服務器
3 $redis->connect(‘127.0.0.1’, ‘6379’);
4
5
6 $key = “key”;
7 $val = “val”;
8
9 //redis key操作
10 key); //判斷key值是否存在
11 key, 10); //設置key在10秒後過期
12
13 //redis string 字符串
14 key, $val);
15 key); //key值+1,除非val是整數,否則函數執行失敗
16 key); //key值-1,同上
17 key, “ue”); //追加key值內容
18 key); //返回key值的長度
19
20 //當第一次設置key值後,key值的數據類型就不能改變了。
21 key); //刪除key值
22
23 //redis hash 哈希
24 key, ‘field1’, ‘val1’); //設置一個key-value鍵值對
25 key, array(‘field2’=>‘val2’, ‘field3’=>‘val3’)); //設置多個k-v鍵值對
26 key, ‘field2’); //獲取hash其中的一個鍵值
27 key, array(‘field2’, ‘field1’)); //獲取hash的多個鍵值
28 key); //獲取hash中所有的鍵值對
29 key); //獲取hash中鍵值對的個數
30 key); //獲取hash中所有的鍵
31 key); //獲取hash中所有的值
32 key); //刪除key值
33
34 //redis list 列表
35 $index = $start = 0;
36 key, ‘val1’, ‘val2’); //在list的開頭添加多個值
37 key); //移除並獲取list的第一個元素
38 key); //移除並獲取list的最後一個元素
39 $stop = key) - 1; //獲取list的長度
40 key, $index); //通過索引獲取list元素
41 key, $start, $stop); //獲取指定範圍內的元素
42
43 key);
44
45 //redis set 無序集合
46 key, ‘val1’, ‘val2’); //向集合中添加多個元素
47 key); //獲取集合元素個數
48 key); //移除並獲取集合內隨機一個元素
49 key, ‘val1’, ‘val2’); //移除集合的多個元素
50 key, ‘val1’); //判斷元素是否存在於集合內
51
52 key);
53 //redis sorted set 有序集合
54 //有序集合裏的元素都和一個分數score關聯,就靠這個分數score對元素進行排序
55 key, $score1, $val1, $score2, $val2); //向集合內添加多個元素
56 key); //獲取集合內元素總數
57 key, $minScore, $maxScore); //獲取集合內分類範圍內的元素
58 key, $member1, $member2); //移除集合內多個元素