您好,登錄后才能下訂單哦!
這篇文章主要講解了“php如何使用redis-key與value的用法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php如何使用redis-key與value的用法”吧!
本文實例講述了php操作redis常見方法。分享給大家供大家參考,具體如下:
關于key的操作:
1、獲取所有key,不包括值;
$redis ->keys("*");
2、獲取一個或多個key的值,【不限制數據類型】;
$redis ->mget([$key1,$key2]);//參數為數組;
3、設置指定key的生命周期;
$redis ->expire($key,30);//設置生命周期為30秒;
4、獲取指定key的剩余生命周期;
$redis->tTl($key);
關于value的操作:
1、string類型
$key = 'user'; $redis->delete($key); $redis ->set($key,'11'); $redis ->setNx($key,3);//當$key不存在時設置才生效;如果存在則值仍然不變; $redis ->decr($key);//當$key的值是數字時可以通過該方法自減1 $redis ->incr($key);//當$key的值是數字時可以通過該方法自增1 $redis ->delete($key);//刪除指定鍵值 $redis ->getMultiple ([$key,'lx']);//獲取多個鍵對應的值 返回值:返回包含所有鍵的值的數組 $redis ->get($key);//獲取指定key的值 $redis ->exists($key);//判斷鍵是否存在
2、list鏈表
$key = 'user'; $redis ->delete($key); //每次進來刪除$key數據 用于測試 $redis ->lPush($key,1);//從列表頭部添加元素 $redis ->rPush($key,2);//從列表尾部添加元素 $redis ->rPush($key,4); $redis ->lPush($key,4); $redis ->lPop($key); 從鏈表頭部刪除一個元素,并且返回這個元素的值,由于這個特性是的list非常適合做高并發秒殺 $redis ->lRemove($key,2,3);//刪除$key中的2這個值,最多刪除三個都為2的值; $redis ->lSet($key,2,30);//將下標為2的元素設置為30;返回值:成功返回查找的值,失敗false $redis ->lGet($key,0);//獲取指定下標的值 返回值:成功返回查找的值,失敗false $redis ->lTrim($key,0,1);//截取保留前兩個值,返回值:成功返回查找的值,失敗false;一般配合lGetRange使用 $redis ->lGetRange($key,0,-1);//獲取所有list鏈表中$key的所有值【值可以重復】 返回值:成功返回查找的值,失敗false $redis ->lLen ($key);//統計元素個數 同$redis ->lsize ($key)一樣 返回值:成功返回查找的值,失敗false
個人總結:誰最后lpush說明第一個元素為誰;誰最后一個rpush代表最后一個元素為誰;
3、set集合 【和list不同的是set不允許有同樣的值】
$key1 = 'user1'; $key2 = 'user2'; $redis->delete($key1); $redis->delete($key2); $redis ->sAdd($key1,'2');//為一個鍵添加一個值 返回值:成功返回true,失敗false $redis ->sAdd($key1,'1'); $redis ->sAdd($key2,'2'); $redis ->sAdd($key2,'3'); $redis ->sRemove($key,'1');//刪除指定值 返回值:成功返回true,失敗false $redis ->sContains($key1,'3');//判斷$key1中是否有指定值 返回值:成功返回true,失敗false $redis ->sSize($key1);//返回集合中存儲值的數量 返回值:成功返回數組個數,失敗0 $redis ->sPop($key1);//隨機移除并返回key中的一個值 返回值:成功返回刪除的值,失敗false $redis ->sUnion($key2,$key1);//返回所有指定鍵的并集 返回值:成功返回合并后的集,失敗false $redis ->sInterStore ('user3',$key2,$key1);//執行sInter命令并把結果儲存到新建的集合中 返回值:成功返回,交集的個數,失敗false $redis ->sInter($key1,$key2);//返回兩個指定集合的交集 返回值:成功返回數組交集,失敗false $redis ->sUnionStore('user3',$key2,$key1);//執行sunion命令并把結果儲存到新建的變量中 返回值:成功返回,交集的個數,失敗false $redis ->sMembers($key1);//獲取集合內所有值 $redis ->sisMember ($key1,2);//如果成員元素2是集合$key1,的成員返回1,如果成員元素不是集合的成員,或key不存在返回0 $redis ->sDiffstore('user3',$key1,$key2);//執行sdiff命令并把結果儲存到新建的變量中。返回值:成功返回數字,失敗false $redis ->sdiff($key1,$key2);//返回第一個集合中存在并在第二個集合中不存在的結果 返回值:成功返回數組,失敗false 返回值:成功返回交集的個數,失敗false $redis ->sort($key1);//當集合內都為數值時返回排序之后的結果 只要有一個值不是數值都不返回結果 $redis ->sCard($key1);//返回SET容器的成員數
4、hash對象 【可以理解為每一個key代表一條數據,同數據庫中的行一樣】
$key1 = 'user'; $key2 = 'user1'; $redis ->delete($key1); $redis ->hSet($key1,'name','lx');//hash中每一個key對應一個或者多個鍵值對;就好比mysql中的字段和值;而$key類似一條數據 $redis ->hSet($key1,'age','保密'); $redis ->hSet($key1,'sex','男'); $redis ->hMGet($key2,['name','age']);//獲得哈希表中多個 key 的值 $redis ->hMSet($key2,['name'=>'lx','age'=>27]);//給哈希表設置多個key的值 $redis ->hVals($key1);//獲得哈希表中所有的值 順序是隨機的 $redis ->hKeys($key1);//獲得哈希表中所有的key 順序是隨機的 $redis ->hDel($key1,'user1');//刪除一個表中指定的key,如果hash表不存在或對應的key不存在,返回false $redis ->hLen($key1);//哈表中key的數量說白了就是記錄的條數和數據庫中的行一樣 $redis ->hGet($key1,'user2'); $redis ->hSetNx($key1,'user2','lx');//當哈希表中不存在某key時,給該key設置一個值 $redis ->hExists($key1,'user1');//檢查哈希key是否存在 返回值:存在返回 true, 不存在返回 false $redis ->hGetAll($key2);// 獲得一個哈希表中所有的key和value $redis ->hIncrByFloat($key1,'user3',3.5);//給哈希表中某key增加一個浮點數值,前提是key中已存在的值必須是數值類型 $redis ->hIncrBy($key1,'user3',3);//給哈希表中某key增加一個整數值,前提是key中已存在的值必須是數值類型
感謝各位的閱讀,以上就是“php如何使用redis-key與value的用法”的內容了,經過本文的學習后,相信大家對php如何使用redis-key與value的用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。