在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.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.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.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.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"