redis命令
2019-07-08 本文已影响0人
Alex柏
redis命令是忽略大小写的
- 选择数据库
select 0-16
- String
赋值 set key value
取值 get key
多个赋值 mset k1 v1 k2 v2 k3 v3 ...
取多个值 mget k1 k3 k5 ...
取值并赋值 getset key value
删除 del key
数值递增 incr key
增加指定整数 incrby key 整数
递减数值 decr key
递减指定整 decrby key 整数
向尾部追加值 append key value
获取字符串长度 strlen key
: 相当于 java的. good.id->good:id java->redis
- Hash 散列类型 key + 字段 + 字段值 = hash 字段值只能是字符串
hash命令不区分插入和更新操作 更新返回0 插入返回1
赋值 hset key field value
多个赋值 hmset key field1 v1 field2 v2 field3 v3 ...
hsetnx user age 30 如果user age字段存在即更新为30 ,没有age字段即不做任何操作
取值 hget field key
取多个值 hmget field k1 k3 k5 ...取所有字段值 hgetall key
删除 hdel key 【field....】 返回的是删除字段的个数
增加数值 hincr key field 整数
判断是否存在字段 hexists key field
只获取字段名 hkeys key
只获取字段值 hvals key
获取字段数量 hlen key
- list 双向链表实现
向链表左边加元素 lpush key [value...]
向链表右边加元素 rpush key [value...]
查看列表 lrange start stop 索引从零开始 索引也可以是负数“-1” 代表最后边的一个元素
从列表两端弹出元素 lpop key rpop key
删除 lrem key count value
count > 0 从左边开始删除
count < 0 从右边开始删除
count = 0 删除所有的value值
获取zhi指定索引的值 lindex key index
设置指定索引元素值 lset key index value
在列表中插入元素 linsert key before | after 值 value
将元素转移到另一个列表(一个个转移) rpoppush source destination
- set
增加元素 sadd key 【member...】
删除元素 srem key 【member...】
获取所有元素 smembers key
判断元素是否在集合中 sismember key member
集合差集 sdiff 【key...】
集合交集 sinter 【key...】
集合并集 sunion 【key...】
获取集合元素个数 scard key
集合随机弹出一个元素 spop key
- sortedset 应用场景 销量
增加 zadd key 【score member score2 member2...】
获取元素的分数 zscore key member
删除元素 zrem key【member...】
获得排名在某个范围的元素列表 zrange key start stop [withscores] 从小到大 只返回value 要返回分数加上withscores
zrerange key start stop [withscores] 从大到小
获取指定范围分数的元素 zrangebyscore key min max 【withscores】【limit offset count】
增加某个元素的分数 zincrby key 值 member
获得集合元素的数量 zcard key
按照排名范围删除元素 zremrangebyrank key start stop
按照分数范围删除元素 zremrangebyscore key start stop
获取元素的排名 从小到大 zrank key member
获取元素的排名 从大到小 zrerank key member
- 常用key命令
设置生存时间 expire key 时间(秒)
查看 生存时间 ttl key
-1 没有设在生存时间
模糊查询key keys value*
重命名key rename key key_new
返回数据类型 type key