Redis 常用键命令
SET key value [EX seconds] [PX milliseconds] [NX|XX]将键 key 设定为指定的“字符串”值。示例set test "Hello, World"。从 2.6.12 版本开始,redis 为 SET 命令增加了一系列选项:- EX seconds – 设置键 key 的过期时间,单位时秒
- PX milliseconds – 设置键 key 的过期时间,单位时毫秒
- NX – 只有键 key 不存在的时候才会设置 key 的值
- XX – 只有键 key 存在的时候才会设置 key 的值
注意: 由于 SET 命令加上选项已经可以完全取代 SETNX, SETEX, PSETEX 的功能,所以在将来的版本中,redis 可能会不推荐使用并且最终抛弃这几个命令。
DEL key [key ...]删除指定的一批 keys ,如果删除中的某些 key 不存在,则直接忽略。示例del halo。EXISTS key [key ...]返回 key 是否存在。如果传递了多个 key, 则返回已存在的 key 的数量。示例exists halo2 test。EXPIRE key seconds设置 key 的过期时间,超过时间后,将会自动删除该 key 。示例expire test 3600。TTL key返回 key 剩余的过期时间。示例ttl test。
在 Redis 2.6 和之前版本,如果 key 不存在或者已过期时返回-1。
从 Redis2.8 开始,错误返回值的结果有如下改变:
- 如果 key 不存在或者已过期,返回 -2
- 如果 key 存在并且没有设置过期时间(永久有效),返回 -1
TYPE key返回 key 所存储的 value 的数据结构类型,它可以返回 string, list, set, zset 和 hash 等不同的类型,如果key不存在时返回none。示例type name_hash。HSET key field value设置 key 指定的哈希集中指定字段的值。示例hset name_hash one 1。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。如果字段在哈希集中存在,它将被重写。RANDOMKEY从当前数据库返回一个随机的 key 。示例randomkey。RENAME key newkey将 key 重命名为 newkey 。示例rename name2 name3。当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。当 newkey 已经存在时, RENAME 命令将覆盖旧值。
但在 redis v4.0.9 版本上测试该命令,当 key 和 newkey 相同,结果仍返回 ok 。更多命令可参考 redis 官网。