字符串
字符串可以存三种类型的值:字节串,整数,浮点数
redis中自增命令和自减命令
命令 | 用例和描述 |
---|
incr | incr key-name 将键存储的值加1 |
desc | desc key-name 将键存储的值减1 |
incrby | incrby key-name amount 加上amount数 |
descby | descby key-name amount 减去amount数 |
incrbyfloat | incrbyfloat key-name amount 加上浮点数amount |
如果用户对不存在的键或者保存了空串的键执行自增或自减,那么在执行时会将这个键当做0处理。
如果用户尝试对一个值无法解释成整数或者浮点数的字符串执行自增或自减操作,那么redis会返回一个错误。
供redis处理字符串和二进制位的命令
命令 | 用例和描述 |
---|
append | append key value 将value值追加到key存储的值后面 |
getrange | getrange key start end 或者从start到end的、范围内的字符组成,【闭区间】 |
setrange | setrange key offset value 从offset偏移量开始得值设置为value |
getbit | getbit key offset 将字符串看做是二进制位串 |
setbit | setbit key offset value 同上 |
bitcount | bitcount key [start end] 统计二进制位串里为1的位的数量 |
bitop | bitop operation dest-key key-name [key-name …] 对一个或多个二进制位串执行包括并(AND),或(OR),异或(XOR),非(NOT)在内的任意一种按位操作(bitwise operation)。并将计算的结果保存在dest-key键里 |
列表
一些常用的列表命令
命令 | 用例和描述 |
---|
rpush | rpush key value [value …] 从右端推入 |
lpush | lpush key value [value …] 从左端推入 |
rpop | rpop key 从右端弹出 |
lpop | lpop key 从左端弹出 |
lindex | lindex key offset 返回offset偏移量处的元素 |
lrange | lrange key start end 返回start和end之间的元素,【闭区间】 |
ltrim | ltrim key start end 对列表进行修剪,只保留start偏移量到end偏移量范围内的元素,包括start,end也会被保留 |
阻塞式列表弹出和列表之间移动
命令 | 用例和描述 |
---|
blpop | blpop key [key …] timeout 从第一个非空列表中弹出左端的元素,或者在timeout秒之内阻塞并等待可弹出的元素,【最多只弹出一个元素】 |
brpop | brpop key [key …] timeout 同上 |
rpoplpush | rpoplpush source dest 从source的右端弹出元素,并把这个元素推入dest的左端 |
brpoplpush | brpoplpush source dest timeout 同上,如果source为空,则在timeout秒内阻塞并等待课弹出元素的出现 |
集合
一些常用命令
命令 | 用例和描述 |
---|
sadd | sadd key item [item …] 增加,不解释 |
srem | srem key item [item …] 删除,不解释 |
sismember | sismember key item 检查item是否存在于key中 |
scard | scard key 返回集合的元素的数量 |
smembers | smembers key 返回集合的所有元素 |
srandmember | srandmember key [count] 从集合中随机的返回一个或多个元素【count的绝对值】。当count为正数时,命令返回的随机元素不会重复;当count为负数时,返回的随机元素可能会出现重复 |
spop | spop key 随机的移除一个元素,并返回这个元素 |
smove | smove source dest item 如果source包含item,那么从source中删除,并将这个元素加入到dest中;如果item被成功移除,返回,否则返回0 |
用于组合和处理多个集合的命令
命令 | 用例和描述 |
---|
sdiff | sdiff key [key ..] 返回那些存在于第一个集合,但不存在于其他集合中的元素【差集运算】 |
sdiffstore | sdiffstore dest-key key [key …] 同上,并把结果存储在dest-key中 |
sinter | sinter key [key …] 返回那些同时存在于所有集合中的元素【交集运算】 |
sinterstore | sinterstore dest-key key [key …] 不解释了哈 |
sunion | sunion key [key …] 返回那些至少存在于一个集合中的元素【并集运算】 |
sunionstore | sunionstore dest-key key [key …] 不解释 |
散列hash
命令 | 用例和描述 |
---|
hmget | hmget key-name key [key …] 从散列中取出多个键的值,hget的多参数版本 |
hmset | hmset key-name key value [key value …] 同时设置多个键值对,hset的多参数版本 |
hdel | hdel key-name key [key …] 同时删除多个键值对,返回成功删除的键值对数量 |
hlen | hlen key-name 返回散列包含的键值对的数量 |
hexists | hexists key-name key 检查是否存在于散列中 |
hkeys | hkeys key-name 返回所有键 |
hvals | hvals key-name 返回所有值 |
hgetall | hgetall key-name 返回所有键值对 |
hincrby | hincrby key-name key incement 将key保存的值加上increment |
hincrbyfloat | nincrbyfloat key-name key increment 不解释 |
有序集合zset
基本操作
命令 | 用例和描述 |
---|
zadd | zadd key-name score member [score member …] |
zrem | zrem key-name member [member …] |
zcard | zcard key-name 返回成员数量 |
zincrby | zincrby key-name incrment member 为member成员的分值加上increment |
zcount | zcount key-name min max 返回分值介于min和max之间的成员数量 |
zrank | zrank key-name member 返回成员的排名 |
zscore | zscore key-name member 返回成员的分值 |
zrange | zrange key-name start stop [withscores] 返回排名介于start和stop之间的成员,[withscores]意味着成员的呢分组也一起返回 |
有序集合的范围型数据获取和删除命令,以及并集命令和交集命令
命令 | 用例和描述 |
---|
zrevrank | zrevrank key-name member 返回排名,从大到小排序 |
zrevrange | zrevrange key-name start stop [withscore] 返回排名介于start和stop之间的成员,从大到小排序 |
zrangebyscore | zrangebyscore key-name min max [withscore] [limit offset count] 返回有序集合中,分值介于min和max中所有的成员 |
zrevrangebyscore | 同上,从大到小排序 |
zremrangebyrank | zremrangebyrank key-name start stop 删除所有排名介于start和stop之间的成员 |
zremrangebyscore | zremrangebyscore key-name min max 删除分值介于min和max之间的成员 |
zinterstore | 不了解,下次分享 |
zunionstore | 不了解,下次分享 |