redis相關知識(慢慢更新)

定義:
redis是一個key-value存儲系統。支持string、list、set、zset和hash等數據類型。
作用:
可以減輕數據庫的壓力,查詢內存比查詢數據庫效率高。

命令:
redis -cil 連接本地的redis服務。
在遠程上執行命令:
redis -cli -h host -p port -a password 

存儲列表和集合。
TYPE key ——用來獲取key的類型
KEYS pattern ——匹配所有符合模式的key
RANDOMKEY ——隨機返回一個key
RENAME oldkey newkey ——重命名


列表操作:
RPUSH key string ——將某個值加入一個key列表的末尾
LPUSH key string ——將某個值加入一個key列表的頭部
LLEN key ——獲取列表的長度
LRANGE key start end ——返回列表中某個範圍的值
LTRIM key start end ——保留列表中某個範圍的值
LINDEX key index ——獲取列表中特定索引號的值
LSET key index value ——設置列表中某個位置的值
LPOP key/RPOP key ——取頭取尾指令,可用於消息隊列

集合操作:
SADD key member ——增加元素
SREM key member ——刪除元素
SCARD key ——返回集合大小
SISMEMBER key member ——判斷某個值是否在集合中
SINTER key1 key2...keyN ——獲取多個集合的交集元素
SMEMBERS key -列出集合中的所有元素

set key value:設定key的value值,如果已存在,則覆蓋,返回ok。
get key:獲取key的value。如果value不是String類型,將返回錯誤信息,get只能
         獲取String類型的value。如果key不存在,則返回null。
getset key value:先獲取key的值,然後設置key的值。
append key value:如果key存在,則在原有的value後追加該值,否則就重新創建一個key/value。


存儲list類型。
(1)lpush key value1 value2...:在key所關聯的list的頭部插入所有的values,如果key不存在,
                                                 則新建一個key關聯的list,並在鏈表頭部插入數據。插入成功,返回元素個數。
(2)rpush key value2 value2...:在該list尾部插入數據。
(3)lrange key start end:獲取鏈表中從start到end的數據,start和end可以爲負數,如果值爲-1,就表示鏈表的
                                    尾部元素,-2表示倒數第二個元素。
(4)lpushx key value:當key存在時,在鏈表頭部插入value的值。
(5)rpushx key value:在該list的尾部添加元素。
(6)lpop key:返回鏈表的頭部元素。
(7)rpop key:返回鏈表的尾部元素。
(8)llen key:返回鏈表中元素的數量。
(9)lset key index value:設置鏈表中index下標的元素值,0代表鏈表的頭元素,-1代表鏈表的尾元素。

存儲Set類型
(1)sadd key values [value1、value2...]:添加數據,重複數據不添加。
(2)srem key members[member1、member2...]:刪除指定元素
(3)smembers key:獲取set中的所有成員。
(4)sismember key member:判斷member是否在set中。1表示存在,0表示不存在。
(5)sdiff key1 key2:返回2個set的差集。
(6)sinter key1 key2 key3...:返回交集
(7)sunion key1 key2 key4...:返回並集


redis各類數據類型的使用場景。
(1)String:複雜計數功能的緩存
(2)hash:value存放結構化的對象,比較方便操作某個字段。做單點登陸時,可以用這種數據結構存儲用戶信息。
           以cookieId作爲iekey。
(3)list:消息隊列功能,基於redis的分頁功能
(4)set:全局去重功能
(5)sorted set:排行榜應用,取TOPN操作。


redis命令:
將祕密設置爲pass:CONFIG SET requirepass quants
輸入密碼:AUTH password
不要在生產環境下使用KEYS,需要查找key,可以使用SCAN或者sets命令。
返回當前數據庫中的key的數量:DBSIZE。
顯示配置:INFO
是否存在:EXISTS 值


 

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