Redis 本质上是 Key-Value 数据库,所以先了解 key 的相关操作。在 Redis 中, key 使用字符串存储,但是 key 中不能出现空格或者换行符 “\n” ,原因是空格和换行符都是 Redis 的特殊字符,但只限于 key , value 可以使用任何字符。
注意:
Redis 以 “\n” 作为命令结束符,所以在 key 中不能存在 “\n” , 否则就会报错。此外,Redis 以空格作为命令和参数分隔符,所以在 key 中也不能存在空格。
下表表示 key 相关的命令:
命令 | 描述 |
---|---|
exits key | 测试指定 key 是否存在, 返回 1 表示存在, 返回 0 表示不存在 |
del key1 key2 … keyN | 删除给定 key ,返回删除 key 的数目, 返回 0 表示给定 key 都不存在 |
type key | 返回给定 key 的 value 类型。返回 none 表示不存在 key , String 为字符类型, List 为 链表类型, set 为无序集合类型 … |
keys pattern | 返回匹配指定模式的所有 key |
expire key seconds | 设置给定 key 的过期时间 |
randomkey | 返回从当前数据库中随机选择的一个 key ,如果当前数据库是空的,返回空串。 |
rename oldkey newkey | 重命名 key , 如果 newkey 存在,将被覆盖,返回 1 表示成功, 返回 0 表示失败。 若失败,则可能是 oldkey 不存在或者和 newkey 相同。 |
renamenx oldkey newkey | 同上,如果 newkey 存在返回失败 |
ttl key | 返回设置过期时间 key 的剩余秒数, -1 表示 key 不存在或者没有设置过期时间 |
move key db-index | 将 key 从当前数据库移动到指定数据库。返回 1 成功,返回 0 表示 key 不存在或者已经在指定数据库中。 |