緩存使用-1、Redis 有哪些類型


1. string類型

string為最簡單類型,一個key對應一個value

set mykey "wangzai"             ##設置key,第二次賦值會直接覆蓋之前的
setnx mykey "wangzai"           ## 如果mykey存在,則不改變,如果不存在,則創建賦值   
get mykey                       ##獲取key的值
setex key1 10 1                 ##給key1設置過期時間為10s,值為1
mset key1 value1 key2 value2    ##設置多個key
mget key1 key2                  ##獲取多個key的值

 

2. list類型

list是一個鏈表結構,主要功能是push、pop以及獲取一個范圍的所有值等。

使用list結構,可以輕松實現最新消息排行,另一個應用是消息隊列,可以利用list的push操作,將任務存在list中,然后工作線程再用pop操作將任務取出進行執行。(先進后出)

復制代碼
lpush list1 "wangzai"                   ##在列表中加入一個元素    
lrange list1 0 -1                       ##查看list1里面的所有元素
lpop list1                              ##取出list1最新的元素
linsert list1 before "wangzai" "doubi"  ##在值為"wangzai"的前面插入一個元素為"doubi"
lset list1 3 "hehe"                     ##把第五個元素修改為"hehe"
lindex list1 0                          ##查看第一個元素
llen list1                              ##查看列表中有多少元素
復制代碼

 

3. set類型

set是集合,對集合操作有添加刪除元素,有對多個集合求交並差等操作。在微博應用中,可以將一個用戶關注的所有人放在一個集合里,將所有粉絲放在一個集合里,因為redis為集合提供了求交集、並集、差集等操作,就可以方便的實現如共同關注、共同喜好等功能。

復制代碼
sadd set1 a b c d                      ## 創建集合set1並設置值
smembers set1                          ## 查看集合set1的值
srem set1 a b                          ## 刪除set1的值
spop set1                              ## 隨機取出一個元素並刪除
sinter set1 set2                       ## 交集
sinterstore set1 set2 set3             ## 將交集存儲到set3 
sunion set1 set2                       ## 並集
sunionstore set1 set2 set3             ## 把並集存儲到set3  
sdiff set1 set2                        ## 差集
sdiffstore set1 set2 set3              ## 把差集存儲到set3
sismember set1 c                       ## 判斷一個元素是否屬於一個集合
srandmember set1                       ## 隨機取出一個元素,但不刪除
復制代碼

 

4. sorted set類型

sorted set是有序集合,比set多了一個權重參數score,使得集合元素能夠按score進行有序排列。

例如存儲一個班級同學的成績,其集合value可以是同學的學號,而score可以是其考試的得分,這樣在數據插入集合的時候就進行了排序。

復制代碼
zadd zset1 1 a                  ## 增加一個集合zset1,score為1,member為a
zrange zset1 0 -1               ## 按score升序輸出member
zrange zset1 0 -1 withscores    ## 帶上分值
zrem zset1 a                    ## 刪除指定元素
zrank zset1 a                   ## 返回元素的索引值,索引從0開始
zrevrange zset1 0 -1            ## score降序輸出member
zcard zset1                     ## 返回集合中所有元素的個數
zcount zset1 1 10               ## 返回分值范圍1-10的元素個數
zrangebyscore zset1 1 10        ## 返回分值范圍1-10的元素
zremrangebyscore zset1 1 10     ## 刪除分值范圍1-10的元素
復制代碼

 

5. hash類型

把一些結構化的信息打包成hashmap,在客戶端序列化后存儲為一個字符串的值(一般為json格式),比如用戶姓名、年齡、性別等

復制代碼
hset hash1 name wangzai                  ## 建立hash (hset name key value)
hget hash1 name                          ## 獲取field值  HGET name key
hgetall hash1                            ## 獲取hash1中所有的key和value
hmset hash2 name wangzai age 26 job it   ## 批量建立鍵值對
hmget hash2 name age job                 ## 批量獲取field值
hdel hash2 job                           ## 刪除指定field
hkeys hash2                              ## 打印所有的key
hvals hash2                              ## 打印所有的value
hlen hash2                               ## 查看hash2有幾個field
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM