redis數據類型操作

7.數據類型

set name zsj

get name

setnx name :不會覆蓋原來的值,如果存在不更新,如果不存在擇設置

setex:設置並指定有效期

setex haircolor 10 red :設置haircolor的有效時間爲10秒

沒有設置有效期代表永久有效

setrange name 6 gmail.com:從第六個字符開始替換成gmail.com【替換同等長度】

mset key1 valus1 key2 value2:同時設置兩個值

msetnx

getset:獲取舊值並設置新值

getset key6 30

getrange:獲取子字符串

getrange name 0 5:返回name的第0個到第5個字符串之間的

mget:批量獲取

incr key:自增一次

incrby key 6:每次增6,不存在key會默認設置爲0

decr:自減

decrby

append key value:給key追加value,返回最終字符串長度

strlen:獲取鍵的字符串長度【strlen key】

hset key property value

hset user:001 name zsj

hget user:001 name

hsetnx

hmset user:001 name hello age 10

hmget user:001 name age

hincrby user:001 age 5

hexist user:001 age:判斷age字段是否存在

hlen user:001 :返回hash中的鍵的數量

hdel user:001 age:刪除hash對象中的age

hkeys user:001:返回hash對象中的所有字段

hvals user:001:返回hash對象中所有字段的value值

hgetall user:001:獲取某個hash對象中所有的字段和其對應的值


8.lists類型與操作[push/pop]【本身是爲棧的方式放入數據】

redis中lists爲雙向鏈表,都可以從頭和尾放數據和取數據,既可以作爲棧也可以作爲隊列

lpush mylist "hello" #從頭部壓入一個元素,返回元素的個數

lrange mylist 0 -1  #從第一個元素一直到尾的第一個元素

rpush list2 "zsj" #從尾部壓入元素

linsert mylist before "hello" "world" :在hello前面壓入一個world元素【注:從尾到頭的方向】

lset mylist 0 "hello":給第0個位置的元素重新賦值

lrem list 1 "hello":從list中刪除1個爲hello的元素,返回成功刪除的個數【從key對應的list中刪除n個和value相同的元素】

ltrim保留key的值的範圍之內的數據

ltrim list 1 -1 :保留從1開始到最後一個元素

lpop:從頭部刪除元素,並返回刪除元素

rpoplpush:從第一個list的尾部移除元素並添加到第二個list的頭部

rpoplpush list1 list2

lindex:返回名稱爲key的list中index位置的元素

lindex list 1

llen返回list的大小


9.set類型

sadd mysset "hello"

smembers myset #查看元素

srem myset "hello" #刪除元素

spop 隨機返回並刪除名稱爲key的set當中的某一個元素

spop myset

sdiff set1 set2 :[返回所有給定key與第一個key的差集]返回set1中在set2中所沒有的

sdiffstore set3 set1 set2:將set1與set2的差集存儲到set3中

sinter set1 set2 :取兩個集合中的交集

sinterstore set3 set1 set2 :將set1,set2中的交集存儲在set3中

sunion set1 set2 :取set1,set2的並集

sunionstore set3 set1 set2

smove [從第一個key對應的set中移除member並添加到第二個對應的set中]

smove set1 set2 value

scard set :返回集合中元素的個數

sismember:測試某個元素是否爲set中的元素

sismember set value :測試value是否set中的元素

srandmember:隨機返回set中的某一個元素,但不刪除

srandmember set


10 sorted sets有序集合

zadd 向名稱爲key的zset中添加元素member,score用於排序。如果該元素存在,則更新其順序

zadd myzset 1 "one"

zadd myzset 2 "two"

zadd myzset 3 "two" :此時元素two不會更新進去,但是排序會更新爲3

zrange myzset 0 -1 withscores ##withscores的目的是輸出順序號

zrem 刪除名稱爲key的zset中的元素member

zrem set value

zincrby 對set中的順序指定增加或減少

zincrby myset 2 "one" :將one的順序值增加2,如果one不存在,則添加此元素

zrank 返回zset中元素的索引,從小到大排序

zrank myset "two" :返回two元素的索引值

zrevrank 從大到小排序

zrevrange 倒序查看zset中的member及排序情況

zrevrange myzset 0 -1 withscores 

zrangebyscore myzset 2 3 withscores 獲取2到3的所有元素

zcount myzset 2 4 :統計2到4之間的元素的個數

zcard myzset :返回集合中所有元素的個數

zremrangebyrank:刪除某個區間的元素並返回剩餘元素【根據索引刪除】

zremrangebyrank myzset 1 1 [從第一個位置開始刪除1到1之間的元素]

zremrangebyscore myzset 1 2 [刪除給定區間的元素]


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