redis 學習筆記1, php redis 鍵命令

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 數字 , 自己要覈對上面的註釋,纔可以知道是哪個類型

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章