redis數據結構

1.stringjava

1)setex +key+時間(單位s)+value:添加數據,設置超時時間,單位是s。app

2)psetex +key+時間(單位ms)+value:添加數據,設置超時時間,單位是ms。blog

3)getrange+key+start(起始下標)+end(終止下標):獲取key對應的value值的從start到end的數據。排序

4)getset +key+value:先get再set,也就是在set的同時,將set以前的數值返回。事務

5)mset +key+value+key+value...:批量添加多個數據。rem

6)mget +key+key...:批量獲取多個數據。字符串

7)setnx+key+value:當且以後當前key不存在時,才能夠添加成功,不然不成功,也就是不能覆蓋舊value值。get

8)strlen +key:當前的key的value的長度。string

9)msetnx +key+value+key+value...:利用事務的原子性,要麼都成功,要麼都失敗。若是有一個key已經存在,則都不能正確添加。hash

10)incr+key:若是當前key對應的value是int類型,即數值,則能夠執行incr命令,表示自增1。若是不是數值,這個命令不能正常執行。

11)incrby+key+步長:將key對應的value值+步長。

12)decr +key:自減1。

13)decrby+key+步長:將key對應的value值-步長。

14)append +key+數據:將當前key對應的value值append後面的數據,也就是字符串鏈接。

 

2.hash

1)hset+hash表名+key字段名+value值:添加一個hash類型的數據,key是這個hash表中的一條數據的key名,value值對應的是這條數據的value值。

2)hexists+hash表名+key字段名:查看當前hash表中的key字段是否存在。

3)hget+hash表名+key字段名:查看當前hash表中的key字段所對應的value值是否存在。

4)hgetall+hash表名:獲取當前hash表的全部字段和對應的值。以下所示:

其中,name是字段名,jim是name對應的value值,hh是字段名,tom是hh對應的value值。

5)hkeys+hash表名:獲取當前hash表的全部字段名。

6)hvals +hash表名:獲取當前hash表的全部value。

7)hlen+hash表名:獲取當前hash的長度,也就是hash表中的字段的個數。

8)hmget +hash表名+字段名+字段名...:批量獲取hash表中各個字段所對應的value值。

9)hmset+hash表名+字段名+value值+字段名+value值:批量對hash表,添加多個數據。

10)hdel +hash表名+字段名+字段名...:批量刪除hash表中字段名所對應的數據。

11)hsetnx+hash表名+字段名+value值...:若是字段名已經存在,則不會添加成功,返回0;若是不存在,則能夠添加成功,返回1。

 

3.list(可有重複數據)

1)lpush+list名+value值+value值+value值...:新建一個list名的list,value是它裏面的數據。(相似於java裏面的list)。【倒入】

2)llen +list名:獲取當前list的長度,即裏面的數據個數。

3)lrange+list名+start(起始下標)+end(終止下標):獲取list的從start到end的數據。以下所示:

4)lset +list名+pos(下標)+value值:將list中,下標爲pos的數值更新爲value。

5)lindex+list名+pos(下標):根據下標獲取list中對應的數據值。

6)lpop+list名:移除list中第一個元素,並將其返回。

7)rpop+list名:移除list中最後一個元素,並將其返回。

 

4.set(無序集合,沒有重複數據,以hash來實現,刪除,添加,查找的複雜度是o(1))

1)sadd +set名+value值+value值+value值...:新建一個set名的集合,各個value值是集合裏面的數據。若是value值已經存在,則不能正確添加。此命令沒有原子性,也就是若是有其中一個value是已經存在的,其餘的value仍然能正常添加。

2)scard +set名:獲取當前集合的數據個數。

3)rename+舊set名+新set名:更改當前集合的名字。

4)smembers+set名:查看當前set中的全部數據。

5)sdiff +set1名+set2名:求set1-set2差集,即在set1集合而不在set2集合中的數據。

6)sinter+set1名+set2名:求set1和set2交集,即同時在set1和set2集合中的數據。

7)sunion +set1名+set2名:求set1和set2並集。

8)srandmember+set名+個數:隨機返回set集合中的數值,數量按個數而定。

9)sismember+set名+value值:查看當前value值是否存在於set集合中。

10)srem+set名+value值+value值...:從set集合中移除value數據(能夠批量移除)。

11)spop+set名:隨機移除並返回set集合中的某個數據。

 

5.sortedset(有序集合,集合元素惟一,分數(權重)不惟一,按分數進行排序)

1)zadd +set名+分數+value+分數+value...:添加一個新集合set,並對其添加元素。

2)rename+舊set名+新set名:更新set名。

3)zcard+set名:計數當前集合的元素個數。

4)zscore+set名+value:查看當前集合中當前元素的分數。

5)zcount+set名+start_score(起始分數)+end_score(結束分數):計數當前集合中分數在[起始分數,結束分數]之間的元素個數。

6)zrank+set名+value:返回當前集合中value值的下標。

7)zincrby+set名+步長+value:增長當前集合中的value元素所對應的分數,即當前分數+步長。

8)zrange+set名+start_pos(起始下標)+end_pos(結束下標):返回從起始下標到結束下標之間的元素。

9)zrange+set名+start_pos(起始下標)+end_pos(結束下標)+withscores:返回期間元素並其相對應的分數。以下所示:

相關文章
相關標籤/搜索