redis常用命令
1. key
- del key
- exists key
- expire key seconds
- pexpire key milliseconds
- keys * keys ?? keys ??+ keys a* keys *a keys *a* //*任意字符 ?一个字符
- persist key //移除过期时间持久化key 如果本身就是持久化key 不会报错 但会返回0
- ttl key pttl keys //ttl秒值 pttl毫秒值
- type key //五大类型
- rename key newkey //newkey如果已经存在会被覆盖
- renamenx key newkey //仅当newkey不存在时 才重命名原key
2. string
- strlen key //字符串长度
- getrange key start end //截取字符串 全闭区间 但不适用于中文
- setrange key offset value //从字符偏移位置用value替换value的长度个字符
- append key value //尾部追加
- getset key value //返回旧值并设置新值
- mset key1 value2 key2 value2 key3 value3 //同时设置多个key-value 会覆盖原有key
- msetnx key1 value2 key2 value2 key3 value3 //只要原有key有一个存在 全部不会执行并返回0
- setex key seconds value //会覆盖
- psetex key milliseconds value
- incr/decr key //自增/自减1 只限整数数值
- incrby/decrby key variable //自增/自减指定值 只限整数数值
- incrbyfloat/decrbyfloat key floatvariable //自增自减一个浮点值 只限数值类型
3. hash
- hset key field1 value1 field2 value2
- hsetnx key field value //只有key中field不n存在时 才设置field-value
- hlen key //获取字段数量
- hexists key field //指定key是否存在
- hgetall key //所有字段名和值 按设置时顺序按编号交替显示field-value
- hkeys key //获取所有字段名
- hvals key //获取所有字段值
- hmget key field1 field2 //同时获取多字段
- hincrby/hdecrby key field variable //增加或减少指定字段值 只能是整形 只能一个字段一个字段操作
- hincrbyfloat/hdecrby key field float variable //增加或减少指定字段值 即可是整形又可是浮点型
- hdel key field1 field2 //同时删除多个字段
4. list 没法批量设置/获取多个list index从左边第一个位置0开始即列表显示的第一行1)
- lpush/rpush key value1 value2 value3
- lpushx/rpushx key value //向已经存在的list 推入value 否则失败即不会新建list只会修改原有list
- lpop/rpop key
- llen key //获取列表长度
- lindex key index //通过索引获取列表元素
- lrange key start end //通过索引获取区间(闭区间)值 支持双向索引 正向从0开始负向从-1开始
- lset key index value //通过索引值重新设值
- linsert key after/before pivot value //从零开始正向索引至第一个指定值pivot的元素并在其前或其后插入value
- rpoplpush key1 key2 // 从key1尾部(最大索引处)pop出元素push到key2队头(索引为0处)
- ltrim key start end //截取列表
- lrem key count pivot //从0开始删掉count个指定值pivot
5. set
- sadd key member1 member2
- scard key //集合元素个数
- smembers key //所有集合元素
- sismember key member1
- sdiff key1 key2 //key1集合减key2集合剩下的元素
- sdiffstore key3 key1 key2 //如果不存在key3会新建
- sinter key1 key2
- sinterstore key1 key1 key2 //两者交集存在key1 会覆盖原有key1
- sunion key1 key2
- sunion key3 key1 key1
- spop key //随机取出一个元素
- srem key member1 member2 //可删除多个元素
6. zset type set = zset 默认根据索引升序排列
- zadd key member1 member2
- zrem key member1 member2 //移除指定成员
- zremrangebyrank key start end //注意:是通过索引删 而不是排名 只是效果是按排名删
- zremrangebyscore key min max //闭区间
- zrange/zrevrange key start end //通过索引返回value
- zrange/zrevrange key start end withscores //value和score
- zrangebyscore/zrevrangebyscore key min max //通过score(闭区间)返回value
- zrangebyscore/zrevrangebyscore key min max withscores //通过score(闭区间)返回value和score
- zcount key min max //闭区间成员数
- zrank key member //指定成员排名(升序)
- zrevrank key member //指定成员排名(降序)
- zscore key member //指定成员score
- zinterstore destination
- zincrby key increment member //增加指定成员的score 注意:没有decrby 如果没有member会新建且一次只能指定一个member zset的score默认都是float 因此increment增量的值既可以是整形也可以是浮点
7. hyperloglog 统计元素基数即不重复元素的个数 不会存储具体数据只会统计元素 占用空间小而恒定且可统计海量数据 误差较小
- pfadd key element //一次只能添加一个 重复元素不返回false
- pfcount key //元素个数
- pfmerge destkey sourcekey1 sourcekey2 //合并key
- pfmerge sourcekey1 sourcekey1 sourcekey2