Redis操作指令

对 value 操作的命令

• exists(key):确认一个 key 是否存在 • del(key):删除一个 key • type(key):返回值的类型 • keys(pattern):返回满足给定 pattern 的所有 key • randomkey:随机返回 key 空间的一个 key • rename(oldname, newname):将 key 由 oldname 重命名为 newname,若newname 存在则删除 newname 表示的 key • dbsize:返回当前数据库中 key 的数目 • expire:设定一个 key 的活动时间(s) • ttl:获得一个 key 的活动时间 • select(index):按索引查询 • move(key, dbindex):将当前数据库中的 key 转移到有 dbindex 索引的数据库 • flushdb:删除当前选择数据库中的所有 key • flushall:删除所有数据库中的所有 key  

对 String 操作的命令

• set(key, value):给数据库中名称为 key 的 string 赋予值 value • get(key):返回数据库中名称为 key 的 string 的 value • getset(key, value):给名称为 key 的 string 赋予上一次的 value • mget(key1, key2,…, key N):返回库中多个 string(它们的名称为 key1,key2…)的 value • setnx(key, value):如果不存在名称为 key 的 string,则向库中添加string,名称为 key,值为 value • setex(key, time, value):向库中添加 string(名称为 key,值为 value)同时,设定过期时间 time • mset(key1, value1, key2, value2,…key N, value N):同时给多个string 赋值,名称为 key i 的 string 赋值 value i • msetnx(key1, value1, key2, value2,…key N, value N):如果所有名称为 key i 的 string 都不存在,则向库中添加 string,名称 key i 赋值为 value i • incr(key):名称为 key 的 string 增 1 操作 • incrby(key, integer):名称为 key 的 string 增加 integer • decr(key):名称为 key 的 string 减 1 操作 • decrby(key, integer):名称为 key 的 string 减少 integer • append(key, value):名称为 key 的 string 的值附加 value • substr(key, start, end):返回名称为 key 的 string 的 value 的子串  

对 List 操作的命令

• rpush(key, value):在名称为 key 的 list 尾添加一个值为 value 的元素 • lpush(key, value):在名称为 key 的 list 头添加一个值为 value 的 元素 • llen(key):返回名称为 key 的 list 的长度 • lrange(key, start, end):返回名称为 key 的 list 中 start 至 end 之间的元素(下标从 0 开始,下同) • ltrim(key, start, end):截取名称为 key 的 list,保留 start 至 end之间的元素 • lindex(key, index):返回名称为 key 的 list 中 index 位置的元素 • lset(key, index, value):给名称为 key 的 list 中 index 位置的元素赋值为 value • lrem(key, count, value):删除 count 个名称为 key 的 list 中值为 value的元素。count 为 0,删除所有值为 value 的元素,count>0 从 头至尾删除 count 个值为 value 的元素,count<0 从尾到头删除|count|个值为value 的元素。 lpop(key):返回并删除名称为 key 的 list 中的首元素 • rpop(key):返回并删除名称为 key 的 list 中的尾元素 blpop(key1,key2,… key N, timeout):lpop 命令的 block 版本。即当 timeout 为 0时,若遇到名称为 key i 的 list 不存在或该 list 为空,则命令结束。如果 timeout>0,则遇到上述情况时,等待 timeout 秒,如果问题没有解决,则对 keyi+1 开始的 list 执行 pop 操作。 • brpop(key1, key2,… key N, timeout):rpop 的 block 版本。参考上一命令。 • rpoplpush(srckey, dstkey):返回并删除名称为 srckey 的 list 的尾元素,并将该元素添加到名称为 dstkey 的 list 的头部  

对 Set 操作的命令(了解)

• sadd(key, member):向名称为 key 的 set 中添加元素 member • srem(key, member) :删除名称为 key 的 set 中的元素 member • spop(key) :随机返回并删除名称为 key 的 set 中一个元素 • smove(srckey, dstkey, member) :将 member 元素从名称为 srckey 的集合移到名称为 dstkey 的集合 • scard(key) :返回名称为 key 的 set 的基数 • sismember(key, member) :测试 member 是否是名称为 key 的 set 的元素 • sinter(key1, key2,…key N) :求交集 • sinterstore(dstkey, key1, key2,…key N) :求交集并将交集保存到 dstkey 的集合 • sunion(key1, key2,…key N) :求并集 • sunionstore(dstkey, key1, key2,…key N) :求并集并将并集保存到 dstkey 的集合 • sdiff(key1, key2,…key N) :求差集 • sdiffstore(dstkey, key1, key2,…key N) :求差集并将差集保存到 dstkey 的集合 • smembers(key) :返回名称为 key 的 set 的所有元素 • srandmember(key) :随机返回名称为 key 的 set 的一个元素  

对 zset(sorted set)操作的命令

• zadd(key, score, member):向名称为 key 的 zset 中添加元素 member,score 用于排序。如果该元素已经存在,则根据 score 更新该元素的顺序。 • zrem(key, member) :删除名称为 key 的 zset 中的元素 member • zincrby(key, increment, member) :如果在名称为 key 的 zset 中已经存在元素 member,则该元素的 score 增加 increment;否则向集合中添加该元素,其 score 的值为 increment • zrank(key, member) :返回名称为 key 的 zset(元素已按 score 从小到大排序)中 member 元素的 rank(即 index,从 0 开始),若没有 member元素,返回“nil” • zrevrank(key, member) :返回名称为 key 的 zset(元素已按 score 从大到小排序)中 member 元素的 rank(即 index,从 0 开始),若没有 member元素,返回“nil” • zrange(key, start, end):返回名称为 key 的 zset(元素已按 score 从小到大排序)中的 index 从 start 到 end 的所有元素 • zrevrange(key, start, end):返回名称为 key 的 zset(元素已按 score从大到小排序)中的 index 从 start 到 end 的所有元素 • zrangebyscore(key, min, max):返回名称为 key 的 zset 中 score >= min且 score <= max 的所有元素 zcard(key):返回名称为 key 的 zset 的基数 zscore(key, element):返回名称为 key 的 zset 中元素 element 的score zremrangebyrank(key, min, max):删除名称为 key 的 zset 中rank >= min 且 rank <= max 的所有元素 zremrangebyscore(key, min,max) :删除名称为 key 的 zset 中 score >= min 且 score <= max 的所有元素• zunionstore / zinterstore(dstkeyN, key1,…,keyN, WEIGHTS w1,…wN,AGGREGATE SUM|MIN|MAX):对 N 个 zset 求并集和交集,并将最后的集合保存在 dstkeyN 中。对于集合中每一个元素的 score,在进行 AGGREGATE运算前,都要乘以对于的 WEIGHT 参数。如果没有提供 WEIGHT,默认为 1。默认的 AGGREGATE 是 SUM,即结果集合中元素 的 score 是所有集合对应元素进行 SUM 运算的值,而 MIN 和 MAX 是指,结果集合中元素的 score是所有集合对应元素中最小值和最大值。

对 Hash 操作的命令

• hset(key, field, value):向名称为 key 的 hash 中添加元素 field<—>value • hget(key, field):返回名称为 key 的 hash 中 field 对应的 value • hmget(key, field1, …,field N):返回名称为 key 的 hash 中 field i 对应的 value • hmset(key, field1, value1,…,field N, value N):向名称为 key 的 hash 中添加元素 field i<—>value i • hincrby(key, field, integer):将名称为 key 的 hash 中 field 的 value 增加 integer • hexists(key, field):名称为 key 的 hash 中是否存在键为 field 的域 • hdel(key, field):删除名称为 key 的 hash 中键为 field 的域 • hlen(key):返回名称为 key 的 hash 中元素个数 • hkeys(key):返回名称为 key 的 hash 中所有键 • hvals(key):返回名称为 key 的 hash 中所有键对应的 value • hgetall(key):返回名称为 key 的 hash 中所有的键(field)及其对应的 value  

持久化

• save:将数据同步保存到磁盘 • bgsave:将数据异步保存到磁盘 • lastsave:返回上次成功将数据保存到磁盘的 Unix 时戳 • shundown:将数据同步保存到磁盘,然后关闭服务  

远程服务控制

• info:提供服务器的信息和统计 • monitor:实时转储收到的请求 • slaveof:改变复制策略设置 • config:在运行时配置 Redis 服务器