php 連接redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server successfully";
//查看服務是否運行
echo "Server is running: " . $redis->ping();
1. 設置 key / value 檢查key 是否存在 刪除key 修改key
$redis->set('db',"redis"); // 設置鍵值
$redis->set('db',"redis1111"); // 覆蓋舊的鍵值
$c = $redis->exists('db'); // 檢查鍵值是否存在, 返回的是 1 。不錯在返回的是0
$redis->del('db');// 刪除鍵值
$a = $redis->get('db');//刪除鍵值之後返回的 false
2. 設置按秒過期時間 / 設置具體的過期時間 / 移除過期時間 / 檢查剩餘多少時間過期
$redis->set('db',"redis"); // 設置鍵值
$redis->expire('db',10); # 設置1秒後過期
$time = time();
$redis->set('cache','www.google.com');
$redis->expireat('cache',$time); # 設置具體的日期時間 10 位時間戳
$redis->persist('cache'); // 移除該鍵值的過期的時間
$redis->ttl('cache');// 檢查該鍵值還剩餘多少時間才過期, 沒有過期時間的話 返回 -1 有過期時間返回 數字 單位 秒
$redis->pttl('cache');// 以毫秒爲單位返回
3. 查找出 redis 中 符合條件的 keys 值 / 獲取所有的key
$redis->set('db',"redis"); // 設置鍵值
$redis->set('cache','www.google.com');// 設置鍵值
$redis->set('ad','www.google.com');// 設置鍵值
$redis->set('adb','www.google.com');// 設置鍵值
$a = $redis->keys('*d*'); // 類似於sql 的like。 在這裏可以是 *d*,*d,d*
$allKeys = $redis->keys('*'); // 獲取所有的key
4. 鍵值的遷移, 從一個數據庫遷移到另外一個數據庫,如果已存在就不會遷移成功
$redis->select(0); // 選擇數據redis 數據庫 0
$redis->set('db2','test1');//設置鍵值對
$redis->move('db2',1); // 將數據0 的鍵值 db1 遷移到 數據庫 1 中
$b = $redis->get('db2');
$redis->select(1); // 鏈接數據庫 1
$a = $redis->get('db1'); // 獲取數據庫 1 裏的 鍵值對的值, 這個時候是獲取的到的,
//如果數據庫1 已經存在了鍵值,那麼會遷移失敗,遵循 原子性, 保持原先的狀態
5. 隨機返回一個key 的值 / 修改key的名稱( rename 和 renamex 是差不多的, renamex 在修改一個不存在的key 會報錯 )
$redis->set('a',"1886...");
$redis->set('b',"2886...");
$redis->set('c',"3886...");
$redis->set('d',"4886...");
$redis->rename('a','aacd'); // 將 key a 修改成 aacd , key a 則不存在了
$c = $redis->get('a');
$d = $redis->get('aacd');
$b = $redis->randomkey(); // 隨機返回一個 key
6. 判斷 key 對應的 值的 類型
//none(key不存在) int(0)
//string(字符串) int(1)
//list(列表) int(3)
//set(集合) int(2)
//zset(有序集) int(4)
//hash(哈希表) int(5)
$redis->set('a','adasdasdasdasdd');
$a = $redis->TYPE('a'); // 返回的是 1 數字 , 自己要覈對上面的註釋,纔可以知道是哪個類型