注:
关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
实现
KEYS命令
语法
KEYS pattern
查找所有符合给定模式 pattern 的 key 。
KEYS * 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS h*llo 匹配 hllo 和 heeeeello 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。 特殊符号用 \ 隔开
通俗来讲?代表一个通配符,*代表多个通配符。
举例
EXISTS命令
语法
EXISTS key
检查给定 key 是否存在。
举例
EXPIRE命令
语法
EXPIRE key seconds
为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
可以对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。
举例
TTL命令
语法
TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
举例同上图
DEL命令
语法
DEL key [key ...]
删除给定的一个或多个 key 。
不存在的 key 会被忽略。
举例
PERSIST命令
语法
PERSIST key
移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。
举例
PEXPIRE命令
语法
PEXPIRE key milliseconds
这个命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位。
举例
PTTL命令
语法
PTTL key
这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位。
举例同上图
MOVE命令
语法
MOVE key db
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
因此,也可以利用这一特性,将 MOVE 当作锁(locking)原语(primitive)。
举例
SELECT命令
语法
select 数据库,redis默认使用数据库 0。
数据库为0-15(默认一共16个数据库) 设计成多个数据库实际上是为了数据库安全和备份
举例同上图
RANDOMKEY命令
语法
RANDOMKEY
从当前数据库中随机返回(不删除)一个 key 。
举例
RENAME命令
语法
RENAME key newkey
将 key 改名为 newkey 。
当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。
当 newkey 已经存在时, RENAME 命令将覆盖旧值。
举例
其他常用命令参照
http://doc.redisfans.com/key/index.html