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