Redis研究-3.6 Redis 5種類型的基本使用2

1.字符串

在Redis中,Redis將字符串當作三種類型來對待,一種是字節串,一種是整數,最後一種是浮點數。所以,針對不一樣的類型,Redis也有不一樣的操做,特別是針對後面兩種類型,涉及到類型轉換的時候,Redis會自動處理。

** 1.1 整數類型操做**redis

_1.1.1 incr_ 
        他的做用是在指定的key上進行加1操做特別的,若是在Redis中不存在這個key,那麼,先在Redis中建立這個key,而後再執行加1操做。

操做: get redis_int 結果: (nil)app

操做: incr redis_int 結果: (integer) 1ssr

_1.1.2 incrby _
    他的做用是在指定的key上執行加法操做。

操做:incrby redis_int 2
結果:(integer) 4
操做:get redis_int
結果:"4"

_1.1.3 decr_
    他的做用和incr相反。

操做:decr redis_int
結果:(integer) 3
操做:get redis_int
結果:"3"

操做:get redis_an
結果:(nil)
操做:decr redis_an
結果:(integer) -1


1.1.4 decrby
    他的做用和incrby相反。這裏就不舉例啦。

1.2 字節串code

_1.2.1 append_
    他的做用是在指定的key的尾部添加指定的子串。若是指定的key不存在,那麼,先建立這個key,而後再進行添加操做。

操做:get redis_str
結果:(nil)
操做:append redis_str "str"
結果:(integer) 3
操做:get redis_str
結果:"str"
操做:ppend redis_str ",str"
結果:(integer) 9
操做:get redis_str
結果:"str\xef\xbc\x8cstr"





 _1.2.2 getrange_

    他的做用是在指定的key上,獲取在[start,end]指定範圍的字串。若是在Redis中不存在這個key,那麼將返回一個空的字串。
操做:getrange ssss 0 100
結果:""
操做:getrange redis_str 0 5
結果:"str\xef\xbc\x8c"


_1.2.3 setrange_
    他的做用是在指定的key上,從指定的start開始,將這個串設置爲指定的值。
操做:get redis_str
結果:"str\xef\xbc\x8cstr"
操做:setrange redis_str 0 5
結果:(integer) 9
操做:setrange redis_str 0 ssssssss
結果:(integer) 9
操做:get redis_str
結果:"ssssssssr"


_1.2.4 setbit_
    他的做用是將指定的key看做是一個二進制串,而後將指定的位置設置爲響應的值。
操做:get redis_str
結果:"ssssssssr"
操做:setbit redis_str 3 2
結果:(error) ERR bit is not an integer or out of range
操做:setbit redis_str 3 1
結果:(integer) 1
操做:getbit redis_str 3
結果:(integer) 1
操做:setbit redis_str 3 0
結果:(integer) 1
操做:getbit redis_str 3
結果:(integer) 0

_1.2.5 getbit_
    他的做用是將指定的key看作是一個二進制串,而後返回指定的位的二進制值。

2.列表

_2.1 ltrim_
    他的做用是對指定的列表進行裁剪,只保留在[start,end]之間的元素組成的列表。
操做:lrange list_ch2 0 -1
結果:
1) "item6"
2) "item5"
3) "item4"
4) "item3"
5) "item12"
6) "item1"
7) "item"
操做:ltrim list_ch2 1 4
結果:OK
操做:lrange list_ch2 0 -1
結果:
1) "item5"
2) "item4"
3) "item3"
4) "item12"


_2.2 BLPOP_
    從一個非空的列表的左端返回一個元素,或者等待一段時間後,有元素可返回的元素爲止。
操做:lrange list_ch3 0 -1
結果:
1) "item6"
2) "item5"
3) "item4"
4) "item3"
5) "item2"
6) "item1"
7) "item"
操做:BLPOP list_ch3
結果:(error) ERR wrong number of arguments for 'blpop' command
操做:BLPOP list_ch3 22
結果:
1) "list_ch3"
2) "item6"

_2.3 BRPOP_
    他的做用和BLPOP的做用相同,可是,方向是相反的。
操做:BRPOP list_ch3 22
結果:
1) "list_ch3"
2) "item"

_2.4 RPOPLPUSH_
    他的做用是從source-list的右端彈出一個元素,並放到dest-list的最左端。
操做:lrange source_list 0 -1
結果:
1) "item3"
2) "item2"
3) "item1"
操做:lrange dest_list 0 -1
結果:
1) "item3"
2) "item2"
3) "item1"
操做:RPOPLPUSH source_list dest_list
結果:"item1"
操做:lrange source_list 0 -1
結果:
1) "item3"
2) "item2"
操做:lrange dest_list 0 -1
結果:
1) "item1"
2) "item3"
3) "item2"
4) "item1"

_2.5 BRPOPLPUSH_
    他的做用是從source-list中彈出最右端的元素,而後將這個元素放到dest-list的最左端。可是必需要制定超時時間。
操做:lrange dest_list 0 -1
結果:
1) "item1"
2) "item3"
3) "item2"
4) "item1"
操做:lrange source_list 0 -1
結果:
1) "item3"
2) "item2"
操做:BRPOPLPUSH dest_list source_list
結果:(error) ERR wrong number of arguments for 'brpoplpush' command
操做:BRPOPLPUSH dest_list source_list 1
結果:"item1"

3.集合

_3.1 scard_
    返回集合中的元素的個數
操做:smembers set1
結果:
1) "item1"
2) "item2"
操做:scard set1
結果:(integer) 2

_3.2 srandmember_
    隨機返回集合中的一個元素。若是 後面指定的數值爲正值,那麼,這個隨機元素不會重複,相反,有可能會重複。我我的以爲是沒多大意義,目前。

_3.3 spop_
    他的最用是從集合中隨機刪除一個元素。

_3.4 smove_
    他的做用是,當source-set中存在元素item的時候,就會把這個元素item從source-set中刪除,並把這個item元素放進dest-set中。

操做:smembers s
結果:
1) "item"
2) "item1"
3) "item2"

操做:smembers d
結果:
1) "item4"
2) "item5"
3) "item3"
操做:smove s d item
結果:(integer) 1

操做:smembers s
結果:
1) "item1"
2) "item2"
操做:smembers d
結果:
1) "item"
2) "item4"
3) "item5"
4) "item3"
操做:smove s d item
結果:(integer) 0


_3.5 SDIFF_
    他的做用是返回存在於第一個集合,而不存在於後面其餘集合中的全部元素。
操做:smembers s1
結果:
1) "b"
2) "a"
操做smembers s2
結果:
1) "c"
2) "b"

操做:smembers s3
結果:
1) "c"
2) "d"
操做:sdiff s1 s2 s3
結果:1) "a"


_3.6 SINTER_
    他的做用是計算全部集合中的交集。
_3.7 SUNION _
    他的做用是計算全部集合中的並集。

4.散列

_4.1 HMGET_ 
    獲取指定的散列中的指定的一個或者多個key對應的值。
操做:hgetall ht
結果:
1) "k1"
2) "v1"
3) "k2"
4) "v2"
5) "k3"
6) "v3"
操做:hmget ht k1 k2
結果:
1) "v1"
2) "v2"
操做:hmget ht k5
結果:1) (nil)

_4.2 HMSET_
    他的做用是爲散列的一個或者多個鍵設置值。
操做:hgetall ht
結果:
    1) "k1"
    2) "v1"
    3) "k2"
    4) "v2"
    5) "k3"
    6) "v3"
操做:hmset ht k6 v6 k7 v7
結果:OK
操做: hgetall ht
結果:
 1) "k1"
 2) "v1"
 3) "k2"
 4) "v2"
 5) "k3"
 6) "v3"
 7) "k6"
 8) "v6"
 9) "k7"
10) "v7"

_4.3 HDEL_
    他的做用是刪除一個或者多個鍵對應的鍵值對。

操做:hdel ht k6 k7
結果:(integer) 2

_4.4 HLEN_
    他的做用是返回,這個散列中有多少鍵值對。
操做:HLEN ht
結果:(integer) 3

_4.5 HEXISTS_
    判斷某鍵是否是在散列中

_4.6 HKEYS_
    返回散列中的全部的鍵

_4.7 HVALS _
    返回散列中的全部的值

_4.8 HINCRBY_
    給散列的給定的鍵的值作指定的加法

5.有序集合

5.1 ZCARD
    他的做用是返回有序集合中的成員的數量,若是這個有序集合不存在,則返回爲0
操做:zrange sorted-set 0 -1 
結果:
1) "m2"
2) "m4"
3) "m1"
4) "m3"
操做:zcard sorted-set
結果:(integer) 4

5.2 ZINCRBY
    他的做用是爲指定的有序集合的成員的分值加上指定的數量。
操做:zincrby sorted-set -22 m1
結果:"-11"


5.3 ZCOUNT
    他的做用是返回有序集合中分值在(min,max)之間的成員數量。
操做:zcount sorted-set 1 51
結果:(integer) 2

5.4 ZRANK
    他的做用是返回指定成員在有序集合中的排名。
操做:zrank sorted-set m3
結果:(integer) 3

5.4 ZSCORE 
    他的做用是返回有序集合中指定成員的分數值。
操做:zscore sorted-set m3
結果:"51"
相關文章
相關標籤/搜索