1.字符串
在Redis中,Redis将字符串当做三种类型来对待,一种是字节串,一种是整数,最后一种是浮点数。因此,针对不同的类型,Redis也有不同的操作,特别是针对后面两种类型,涉及到类型转换的时候,Redis会自动处理。
** 1.1 整数类型操作**
_1.1.1 incr_
他的作用是在指定的key上进行加1操作特别的,如果在Redis中不存在这个key,那么,先在Redis中创建这个key,然后再执行加1操作。
操作: get redis_int 结果: (nil)
操作: incr redis_int 结果: (integer) 1
_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 字节串
_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"
来源:oschina
链接:https://my.oschina.net/u/197860/blog/525087