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