库常用命令
命令 | 说明 |
---|
select db | 切换库 |
flushDB | 清除当前库中所有的key |
flushAll | 清除所有库中的key |
key常用命令
命令 | 说明 |
---|
keys * | 查看当前库中所有的key |
del key … | 删除一个或者多个key |
exists key | 判断某个key是否存在,若存在为1,不存在为0 |
expire key | 设置一个已存在的key的超时时间 单位秒 |
pexpire key | 设置一个已存在的key的超时时间 单位毫秒 |
pexpireat key | 设置一个已存在的key的超时时间 单位时间戳 |
move key db | 将一个key 从当前库移到别的库中 |
ttl key | 获取一个key的剩余的存活时间 单位秒 返回值如果大于等于0 代表剩余时间,如果为-1 代表永不过期,如果为-2,代表当前的key不存在。 |
pttl key | 获取一个key的剩余存活时间 单位毫秒 返回值如果大于等于0 代表剩余时间,如果为-1 代表永不过期,如果为-2,代表当前的key不存在。 |
randomkey | 随机返回一个key |
rename keyold keynew | 对key 进行重命名 |
type key | 返回key对应 value的累型 |
String类型常用命令
命令 | 说明 |
---|
set key value | 设置key指定key的值 |
get key | 获取指定key的值 |
strlen key | 获取key的长度 |
append key val | 在key所对应的原有的value内容基础上追加内容(val) |
incr key | 将key存储的数字值增一,前提是value值是一个整数,如果key不存在,默认value为0,增一 |
decr key | 将key存储的数字值减一,前提是value值是一个整数,如果key不存在,默认value为0,减一 |
incrby key val | 将key存储的内容加上指定的val |
decrby key val | 将key存储的内容减去指定的val |
incrbyfloat key val | 将key存储的内容加上指定的val 为浮点数 |
setrange key start end | 修改value的部分内容,根据偏移量进行修改 |
getrange key start end | 拿到value的部分内容,根据偏移量,并不会对原有key的value做修改 |
getset key value | 修改key对应value的值并返回之前的旧值 |
mget key…key | 批量获取值 |
mset key value …key value | 批量设置值 |
setex key | 设置key value,前提是这个key不存在,同时设置过期时间单位秒 |
psetex | 和setex相似,过期时间为毫秒 |
setnx | 只有当key不存在时才能设置key的值,当key存在时不做任何操作 |
msetnx | 批量设置,前提key不存在,只要其中一个key存在就不做任何操作 |
List类型常用命令
命令 | 说明 |
---|
lpush key value …value | 向队列头部添加一个或多个元素 |
lpushx key value … value | 向队列头部添加一个或多个元素,必须要保证这个队列(key)存在 |
rpush key value … value | 像队列尾部添加一个或多个元素 |
rpushx key value … value | 像列表尾部添加一个或多个元素,必须要保证这个队列(key)存在 |
lpop key | 移出并获取队列头部的元素 ,并返回 |
rpop key | 移出队列尾部的元素,并返回 |
llen key | 获取列表的长度 |
lrange key start stop | 获取列表中指定范围的元素 ,当起始值为 0,stop为-1时,相当于查所有 |
lset key index valuenew | 通过索引修改值,但前提是这个索引必须存在,如果列表的长度是5,索引就是0-4 如果设置 lset key 5 value,那就会索引越界出错,并不会帮我们创建一个value. |
lrem key count value | 移出列表中重复元素,count代表移除的个数,value代表移除的值,从队列头开始移除 |
lindex index | 获取列表中对应下标的值 |
ltrim key start stop | 截取列表中对应的元素,从索引 start 到索引stop |
linsert key before value valuenew | 在列表中value的前面插入一个新值valuenew |
linsert key after value valuenew | 在列表中value的后面插入一个新值valuenew |
blpop | lpop的阻塞版 |
brpop | rpop的阻塞版 |
rpoplpush | 移出一个列表中的最后一个元素,并将该元素添加到另一个列表的头部 |
bpoplpush | rpoplpush的阻塞版 |
——————————————— | |
set类型常用命令
命令 | 描述 |
---|
sadd key member1 [member2] | 向集合添加一个或多个元素,如果集合的key不存在,则会新建,如果添加的元素在集合中已存在,则忽略。相当于Set去重。 |
scard key | 获取集合中元素的数量,如果集合的key不存在,则返回0 |
sdiff key1 [key2] | 返回给定所有集合的差集的元素 比如 key1 a,b,c key2 c sdiff key1 key2 返回的就是a,b |
sinter key1 [key2] | 返回给定所有集合的交集 |
sismember key member | 判断 member 元素是否是集合 key 的成员,如果是则返回1,如果不是或者这个key不存在则返回0 |
smembers key | 返回集合中的所有成员,和sinter key的效果是一样的 |
srem key member1 [member2] | 移除集合中一个或多个成员,如果该成员不存在则返回0,如果集合不存在,则忽略 |
sunion key1 [key2] | 返回所有给定集合的并集 |
smove key1 key2 value | 将一个集合中的内容移动到另一个集合中,如果元素移动成功,则返回1,如果原集合中不包含这个元素则返回0 |
srandmember key count | 随机返回集合中的元素,可以跟个数 |
spop key count | 随机弹出移除一个或者多个元素,count代表随机移除的个数 |
sscan key cursor match pattern count integer | 迭代key对应的一个set集合中的所有的元素,可以根据模式匹配 cursor是游标的意思,比如 sscan key 0 match a* count 5 就代表找到key对应的集合中以a开头的5个元素 |
更多关于sscan的命令http://www.redis.cn/commands/scan.html
Zset类型常用命令
命令 | 说明 |
---|
zadd key nx|xx ch score1 member1 [score2 member2] | 向有序集合添加一个或多个成员,或者更新已存在成员的分数,集合中的元素会按照score从小到大的顺序排序,如果分数相同,则会根据value的字典顺序决定先后。zadd 在3.0.2版本之后支持在key后面加入参数 ,比如 nx/xx nx就表示只允许添加不允许修改(权重),而xx则表示只允许修改不允许添加(新的成员) CH: 修改返回值为发生变化的成员总数。 INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。 |
zcard key | 获取有序集合的成员数,当key不存在时,返回0 |
zcount key min max | 计算在有序集合中指定区间分数的成员数,zcount key -inf +inf 拿到的就是全部的 inf即infinite 无穷的意思 |
zincryby key increment membe | 有序集合中对指定成员的分数加上增量,当然increment为负数时,相当于降低权重 ,如果成员不存在,就会向该集合中添加一个成员,该成员的分数就是increment,如果key不存在的话,就会创建一个集合,并向这个集合中添加member元素,本质上调用的应该还是zadd |
zinterstore destination numkeys key [key1 ] | 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中,当然在key后面可以加上weights参数,代表权重因数,默认为1,会将整合之前key里面的每一个value的score乘上这个权重因数,然后再进行取交集,aggregate参数是指定聚合方式,默认是sum 也可以指定为max/min等 |
zrange key start stop[WITHSCORES] [LIMIT] | 通过索引返回有序集合指定区间内的成员 |
zrevrange key start stop[WITHSCORES] [LIMIT] | 通过索引返回有序集合指定区间内的成员,其中成员的位置按分数递减(从大到小)来排列。具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列。 |
zrangebylex key min max[WITHSCORES] [LIMIT] | 这里的min、max指的是字典顺序的符号,当然前提是要保证score必须要一致,zrangebylex key - + 则代表所有的元素按字典顺序排序,zrangebylex key [a [z 默认min和max前面必须以[开头。 |
zrank key member | 返回有序集合中指定成员的索引,如果当前成员不在该key对应的集合中,则返回 nil |
zrem key member [member …] | 移除有序集合中的一个或多个成员,当成员不存在时,忽略 |
zremrangebyscore key min max | 移除有序集合中给定的分数区间的所有成员 |
zscore key member | 返回有序集中,成员的分数值。如果成员元素不是有序集 key 的成员,或 key 不存在,返回 nil |
zrevrangebyscore key max min [WITHSCORES] | 返回有序集中指定分数区间内的成员,分数从高到低排序,具有相同分数的成员,按字典的逆序排序 |
zunionstore destination numkeys key [key …] | 计算给定的一个或多个有序集的并集,并存储在新的 key 中,默认情况下,结果集中某个成员的分数值是所有给定集下该成员分数值之和 。 |
Hash类型常用命令
命令 | 说明 |
---|
hset key field value | 设置哈希表key(对象)中field(属性)的value值 |
hget key | 获取哈希表key中field(属性)的value值 |
hmset key [field value…] | 批量设置key中的field |
hmget key field[…] | 批量获取key中的field的值 |
hdel key field[…] | 批量删除key中的field |
hsetnx key field value | 设置key中field的值,如果已经存在field,就忽略操作(无效) |
hvals key | 获取key中所有field的值 |
hkeys pattern | 批量获取字段 |
hgetall key | 获取key中所有的field和值 |
hexists key field | 判断key中field是否存在 |
hincrby key field val | 给key中的field增加特定的val值 |
hincrbyfloat key field val | 增加float类型的值 |
hlen key | 判断key中field的个数(对象中有几个属性) |
hstrlen key field | 获取key中某个field的值的长度 |