Redis命令
- 字符串 可以存储3中类型的值 字符串,整数,浮点数
- incr incr key-name 将键存储的值加上1
- decr decr key-name 将键存储的值减去1
- incrby incrby key-name amount 将键存储的值加上整数amount
- decrby decrby key-name amount 将键存储的值减去整数amount
- incrbyfloat incrbyfloat key-name amount 将键存储的值加上浮点数amount
当用户将一个值存储到Redis字符串里面的时候,如果这个值可以被解释为十进制或者浮点数,那么redis会察觉这点,并允许用户对这个字符串执行各种incr和decr操作
如果用户对一个不存在的键或者一个保存了空串的键执行自增或者自减,那么redis在操作时会将这个键的值当作是0来处理,
- append append key-name value 将值value追加到给定键key-name当前存储的值的末尾.
- getrange getrange key-name start end 获取一个偏移量start至偏移量end范围内所有字符组成的子串,包括start和end在内
- setrange setrange key-name offset value 将从offset偏移量开始的子串设置为给定值
- getbit getbit key-name offset 将字节串看做是二进制位串(bit string),并放回位串中偏移量为offset的二进制位的值.
- setbit setbit key-name offset value 将字符串看做二进制位串,并将位串中的偏移量为offset的二进制位值设置为value
- bitcount bitcount key-name [start end]统计二进制位串里面值为1的二进制位数量,如果给定了start和end 那么就选择偏移量范围内的统计
- bitop bitop operation dest-key key-name [key-name ...] 对一个或多个二进制位串执行包括(AND) 或 OR 异或 XOR 非 NOT在内的任意一种按位运算操作 并将计算的结果保存在dest-key键里面
- 列表 允许用户从序列的两端推入或者弹出元素, 可以用来存储任务信息,最近浏览过的文章或者常用联系人信息
- rpush rpush key-name value [value ...] 讲一个或多个值推入列表的右端
- lpush lpush key-name value [value ...] 将一个或多个值推入列表的左端
- rpop rpop key-name 移除并返回列表最右端的元素
- lpop lpop key-name 移除并返回列表最左端的元素
- Lindex lindex key-name offset 返回节礼偏移量为offset的元素
- lrange lrange key-name start end 返回列表从start偏移量到end偏移量范围内所有元素 包含start 和end
- ltrim ltrim key-name start end 队列表进行修剪,只保留从start偏移量到end偏移量范围内的元素, start end的元素会被保留
- blpop blpop key-name [key-name ...] timeout 从第一个非空列中弹出位于最左端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现
- brpop brpop key-name [key-name ...] timeout 从第一个非空列表中淡出位于最右端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现
- rpoplpush rpoplpush source-key dest-key 从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素
- brpoplpush brpoplpush source-key dest-key timeout 从source-eky列表中弹出位于最右端的元素,然后将这个元素推入dest-key列表的最左端,并向用户返回这个元素;如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现,
- 集合 以无序的方式来存储多个各不相同的元素,用户可以快速的对集合执行添加元素操作,移除元素操作以及检查一个元素是否存在于集合中,
- sadd sadd key-name item [item ...] 将一个或者多个元素添加到集合里面,并返回被添加元素当中并不存在于集合里面的数量
- srem srem key-name item [item ...] 从集合里面移除一个或者多个元素,并返回被移除元素的数量
- sismember sismember key-name item 检查元素item是否存在于集合key-name里
- scard scard key-name 返回几个包含的元素个数
- smembers smembers key-name 返回集合包含的所有元素,
- srandmember srandmember key-name [count] 从集合里面随机地返回一个或者对个元素,当count为正数时,命令返回的随机元素不会重复,当count为负数时,命令返回的随机元素可能出现重复
- spop spop key-name 随机地移除集合中的一个元素,并返回被移除的元素
- smove smove source-key dest-key item 如果source-key包含元素item 那么从集合source-key里面移除元素item 并将元素item添加到集合dest-key中;如果item被成功移除, 那么命令返回1 否返回0
- sdiff sdiff key-name [key-name ...] 返回那些存在于第一个集合,但不存在其他集中的元素, 差集运算
- sdiffstore sdiffstore dest-key key-name [key-name ...] 将那些存在于第一个集合中但并不存在于其他集合中的元素存储到dest-key键里面(差集运算)
- sinter sinter key-name [key-name ...] 返回那些同事存在于所有集合中的元素,(交集运算)
- sinterstore sinterstore dest-key key-name [key-name ....] 将那些同事存在于所有集合的元素 存储到dest-key键里面
- sunion sunion key-name [key-name ...] 返回那些至少存在于一个集合中的元素,(并集运算)
- sunionstore sunionstore dest-key [key-name ...] 将那些至少存在于一个集合中的元素 存储到dest-key键里面
- 散列 可以让用户将多个键值对存储到一个redis键里面,
- hmget hmget key-name key [key ...] 从散列里面获取一个或者多个键的值
- hmset hmset key-name key value [key value ...] 为散列里面的一个或者多个键设置值
- 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 increment 将键key存储的值加上整数increment
- hincrbyfloat hincrbyfloat key-name key increment 将键key 存储的值加上浮点数increment
- 有序集合 存储的是成员和分值之间的映射 并提供了分值处理命名,以及根据分值大小有序的获取或扫描成员和分值的命令,
- zdd zdd key-name score member [score member ...] 将带有给定分值的成员添加到有序集合里面
- zrem zrem key-name member [member ...] 从有序集合里面移除给定成员 并返回被移除成员数量
- zcard zcard key-name 返回有序集合包含的成员数量,
- zincrby zincrby key-name increment member 将member成员的分值加上increment
- zcount zcount key-name min max 返回分值介于min和max之间的成员数量
- zrank zrank key-name member 返回成员member在有序集合中的排名
- zscore zscore key-name member 返回成员member的分值
- zrange zrange key-name start stop [withscores] 返回有序集合中排名介于start和stop之间的成员,如果给定了可选的withscores选项, 那么命令会将成员的分值一并返回
- zrevrank zrevrank key-name member 返回有序集合成员member的排名.成员按照分值从小到大排列
- zrevrange zrevrangde key-name start stop [withscores] 返回有序集合给定排名范围内的成员,成员按照分值从打到小排序
- zrangebyscore zrangebyscore key max min [withsores] [limit offset count] 返回有序集合中 分值介于min和max之间的所有成员
- zrevrangebyscore zrevrangebyscore key max min [withscores] [limit offset count ] 获取有序集合中分值介于min和max直接的所有成员,并按照分值从大到小的顺序来返回他们
- zrenrangebyrank zremrangebyrank key-name start stop 移除有序集合中排名介于start和stop之间的所有成员
- zremrangebyscore zremrangebyscore key-name min max 移除有序集合中分值介于min和max直接的所有成员
- zinterstore zinterstore dest-key key-count key [key ...] [weights weight [weight ...]] [aggregate sum|min|max] 对给定的有序集合执行类似于集合的交集运算
- zunionstore zunionstore dest-key key-count key [key ...] [weights weights [weight ...] ] [aggregate sum|min|max] 对给定的有序集合执行类似于集合并集运算
- 发布和订阅
- subscribe subscribe channel [channel ...] 订阅给定的一个或多个频道
- unsubscribe unsubscribe [channel [channel] ....] 退订给定的一个或者多个频道,如果执行时没有给定任何频道,那么退订所有频道
- publish publish channel message 向给定频道发送消息
- psubscribe psubscribe pattern [pattern ...] 订阅与给定模式相匹配的所有频道
- punsubscribe punsubscribe [patten [pattern ...]] 退订给定模式.如果执行时没有给定任何模式,那么退订所有模式