redis命令行常用命令记录,其他客户端都有相应的命令,都差不多
string类型命令:
- keys:列出所有的key //支持通配符,比如keys a*,则列出所有以a开头的key
- type key:返回value的类型,比如string,表示字符串类型的value
- ttl key:查看这个key剩余的过期时间,如果返回-1,则说明key不过期
- expire key: 过期时间(或者 set key的名称 key的value ex 过期时间,这个用于value不存在的情况设置过期时间):给这个key设置过期时间
- append key 内容:将内容追加到key对应的value后面,比如这个key之前是hello,追加内容是world,这追加后的内容为helloword
- strlen key:查看这个key的字符串value的长度
- incr key:将这个key的value累加1,比如之前这个key的value值是1,则incr之后value值是2
- incrby key 累加值:则意味着累加具体指定的值,而不是累加1,比如之前这个key的value值是1,执行incrby key 10 之后,则这个value变成了11
- decr key:将这个key的value累减1,比如之前这个key的value值是2,则decr之后value值是1
注意:decrby key的名称 累减值,则意味着累减具体指定的值,而不是累减1,比如之前这个key的value值是11,执行decrby key的名称 10 之后,则这个value变成了1 - getrange key start end:截取这个key的value值,截取范围从start开始end结束
- setrange key start 值:将值替换到start所指定的位置,注意:原先start开始的值将被替换,而不是向后移动
- mset(msetnx) key1 value1 key2 value2 ...: 同时设置多个k-v值
- mget key1 key2 ...:同时返回多个key指定的value值
hash类型命令:
- hset key 属性key 属性值:hash方式的set,将一个对象set到redis中,比如 hset user name xiaoming, 即意味着user为对象的key,name为对象里面某个属性的key,小明为该属性key的value, (hmset是hset的批量版本,即可以设置多个属性key和value,用法:hmset 对象的key 对象属性的key1 对象的值1 对象属性的key2 对象的值2 ...)
- hget key 属性key: 获取该hash key指定对象的某个属性key的值,比如hget user name,意味着获取user对象中name属性key所对应的值
(hmget是hget的批量版本,即可以获取多个属性key的value,用法:hmget 对象的key 对象属性的key1 对象属性的key2 ...,另外还有一个hgetall 对象的key,这个命令是获取该对象key的所有属性key的值) - hlen key:返回该对象的属性个数
- hkeys key:列出该对象所有的属性key
- hvalues key:列出该对象所有属性对应的value
- hincrby/hincrbyfloat key 属性key 累加值/小数:用法和incrby相同
- hdecrby/hincrbyfloat key 属性key 累减值/小数:用法和decrby相同
- hexists key 属性key:判断属性的key是否在对象中存在,存在返回1,不存在返回0
- hdel key 属性key:删除对象的某个属性
list类型命令:
- lpush/rpush key value1 value2 value3 ...: 将多个value放入指定key的list中, rpush的话,元素从右到左放
- lrange key start end: 取指定key的list的start开始end结束的元素
- lpop/rpop key: 从list中弹出一个元素(弹出后,list不存在该元素),和lpush和rpush所对应
- llen key: 获取list的长度
- lindex key index: 从指定的index下标获取一个元素,但不弹出元素
- lset key index value: 将指定index的值改成指定的value值,这里是替换原先的值
- linsert key before/after 坐标值 插入的值:将值插入坐标值的左边或者右边
- lrem key 要删除的值:将值从list中删除
- ltrim key start end: 截取start开始end结束的范围内的子list
注意:ltrim的截取操作会改变原先的list,而lrange只是返回子list,并不会改变原list
set类型命令:
- sadd key value1 value2 value3 ...: 将多个value放到set中
注意:如果value列表中有相同的value,这会去重 - smembers key:列出key指定的set里面的所有元素
- scard key: 列出set的数量
- sismember key value: 判断指定的value是否在set中
- srem key value: 删除set中的value
- spop key: 弹出set最左边的元素,弹出后,该元素不会在set中
- sdiff key1 key2:取差集,即列出set1中存在,set2不存在的元素
- sinter key1 key2:取交集,即列出set1和set2都存在的元素
- sunion key1 key2:取并集,即列出set1和set2所有的元素
zset类型命令:
- zadd key score1 value1 score2 value2 ...:对每个value赋值一个score值,用于排序,放入set中
注意:zset是一种排序set,元素将按照score进行自动排序输出 - zrank zset value: 获取value元素在zset中的下标
- zscore zset value: 获取value元素在zset中的score
- zcard key: 列出zset的数量
- zcount key 开始score值 结束score值:列出开始和结束score值之间的元素个数
- zrangebyscore key 开始score值 结束score值:列出开始和结束score值之间的元素值
注意:使用 (开始score值或者(结束score值 ,表明查找换位不包括开始score值或者结束score值,比如:zrangebyscore myset (10 (50 - zrangebyscore key 开始score值 结束score值 limit offset count:列出开始和结束score值之间的元素值,并限定limit offset count的值
- zrem key value1 value2 ..:删除多个value