1. 程式人生 > >Redis常見操作指令

Redis常見操作指令

在Ubuntu下面操作:
redis的操作是以key - value的形式儲存的
key為字串
Value: 字串,hash表,list集合,set集合,zset集合 五種型別

字串型別:
    1. 基本鍵值對: set key value
    set age 10

    2. 鍵值對,有效期: setex key second value
    setex name 10 zs # 10秒後,該name消失

    3. 設定多個鍵值對: mset key1 value1 key2 value2 ..
    mset name zs age 18

    4. 追加值: append key value
    append name haha  # 在原來name上的值上追加haha,即"zs" + "haha" = 'zshaha'

獲取值:
1.獲取基本值: get key
get name

2.獲取多個值: mget key1 key2 ..
mset name age 

檢視鍵:
1.檢視所有的鍵: keys *
keys * 

2.檢視以a開頭的鍵: keys a*
keys a*,keys *a, keys *a*

3.看鍵是否存在: exists key
exists name

4.檢視鍵的型別: type key1
type name

刪除鍵值對:
1.刪除鍵: del key1 key2 ..
del name age 

2.設定鍵有效期,刪除鍵:expire key seconds
expire name 10  # 10秒後,name消失
3.檢視鍵的有效期: ttl key
ttl name

4.flushall,清空
flushall


hash型別
增加資料
1.增加域的key和值: hset key field value
hset person name zs 

2.設定域的多個屬性: hmset key filed1 value1 field2 value2…
hmset person name zs age 18

獲取資料:
1.獲取域的屬性(欄位): hget key field
hget person name

2.獲取域的多個屬性: hmget key filed1 field2..
hmget person name age 

3.獲取域的所有屬性(欄位): hkeys key
hkeys person  # 顯示的是,name age

刪除資料:
1.刪除多個屬性值(欄位): hdel key field1 field2…
hdel person name age 


list型別:
插入資料: 
1.左側插入資料: lpush key value1 value2 …
lpush num_list 1 2 3  # 左邊插入資料

2.右側插入資料: rpush key value1 value2 …
rpush num_list 1 2 3  # 右邊插入資料

3.指定key,舊元素位置前插入元素: 
格式:linsert  key  before  oldvalue  newvalue
linsert num_list  before 1 10

4.指定key,舊元素位置後插入元素: 
格式:linsert key after oldvalue  newvalue
linsert num_list after 1 10

獲取資料:
1.獲取從編號start位置到編號stop位置的元素: 
格式:lrange key start stop 
(注意點,最後一個元素可以使用-1表示)
lrange num_list 0 -1

2.設定指定索引位置的元素值: lset key index value
lset num_list 0 6  # 索引值為0的數改為6

刪除資料:
1.將key域列表中,前count次,值為value的元素刪除:
格式: lrem key count value
count:需要刪除的個數
value: 需要刪除的值
count>0:從頭開始數, count<0從尾到頭,count=0查詢所有元素
lrem num_list 2 a  # 從左到右刪除兩個a
lrem num_list -2 a  # 從右到左刪除兩個a
lrem num_list 0 a  # 把全部的a刪除


set型別
特點:無序(順序)集合, 大小關係有序,不能儲存重複元素
1 6 3 9 2

新增元素
1.向key域(集合)中新增多個數據, sadd key member1 member2...
sadd num_set 1 4 6 7 4 5

獲取元素:
2.獲取key域集合的所有元素: smembers key
smembers num_set 

刪除元素:
1.刪除指定key元素的值: srem key value
srem num_set 1


Zset型別
特點: 有序集合, score為權重值
序:自然順序
增加資料
1.向key域集合中新增多個score1,member1資料
格式: zadd key score1 member1 score2 memever2...
zadd nums 10 zs 20 lisi

獲取資料:
1.返回指定範圍內的member元素:
格式:zrange key start stop
    start:為開始索引,包含
    stop:為結尾索引,包含, -1表示最後一個元素
    zrange nums 0 -1
    
2.獲取min和max權值之間(包含)的成員值: 
格式:zrangebyscore key min max
zrangebyscore nums 0 230

3.獲取key域集合中member的score的權重值: 
格式:zscore key member
zscore nums zs

刪除元素:
1.刪除域集合中指定的元素值: 
格式:zrem key member1 member2...
zrem nums zs lisi

2.刪除集合中權重在指定範圍內(min,max)的元素:
格式:zremrangebyscore key min max
zremrangebyscore nums 0 20