备注:测试版本 redis 4.0.9
Table of Contents
key命令概述
命令 | 概述 |
---|---|
del key | 该命令用于在 key 存在是删除 key |
dump key | 序列化给定 key ,并返回被序列化的值 |
exists key | 检查给定 key 是否存在 |
expire key seconds | 为给定 key 设置过期时间 |
EXPIREAT key timestamp | EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。 |
PEXPIRE key milliseconds | 设置 key 的过期时间亿以毫秒计 |
PEXPIREAT key milliseconds-timestamp | 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 |
KEYS pattern | 查找所有符合给定模式( pattern)的 key |
MOVE key db | 将当前数据库的 key 移动到给定的数据库 db 当中 |
PERSIST key | 移除 key 的过期时间,key 将持久保持 |
PTTL key | 以毫秒为单位返回 key 的剩余的过期时间 |
TTL key | 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live) |
RANDOMKEY | 从当前数据库中随机返回一个 key |
RENAME key newkey | 修改 key 的名称 |
RENAMENX key newkey | 仅当 newkey 不存在时,将 key 改名为 newkey |
TYPE key | 返回 key 所储存的值的类型 |
1.1 del key
Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。
测试记录:
127.0.0.1:6379> set my_db redis OK 127.0.0.1:6379> 127.0.0.1:6379> get my_db "redis" 127.0.0.1:6379> del my_db (integer) 1 127.0.0.1:6379> get my_db (nil) -- 已经删除过一次,重复删除被忽略 127.0.0.1:6379> del my_db (integer) 0
复制
1.2 dump key
Redis DUMP 命令用于序列化给定 key ,并返回被序列化的值。
测试记录:
127.0.0.1:6379> set my_db oracle mysql redis mongodb hive (error) ERR syntax error 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> set my_db "oracle mysql redis mongodb hive" OK 127.0.0.1:6379> get my_db "oracle mysql redis mongodb hive" 127.0.0.1:6379> dump my_db "\x00\x1foracle mysql redis mongodb hive\b\x00\xfb\x7f\x17y\t~\x9f\xba"
复制
1.3 EXISTS key
Redis EXISTS 命令用于检查给定 key 是否存在
测试记录:
127.0.0.1:6379> set my_db "oracle mysql redis mongodb hive" OK 127.0.0.1:6379> get my_db "oracle mysql redis mongodb hive" 127.0.0.1:6379> exists my_db (integer) 1 127.0.0.1:6379> exists my_db_123 (integer) 0 127.0.0.1:6379>
复制
1.4 Expire/Expireat/PEXPIREAT/PEXPIREAT/PERSIST/PTTL/TTL
Redis Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。
Redis Expireat 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。key 过期后将不再可用。
Redis PEXPIREAT 命令用于设置 key 的过期时间,已毫秒技。key 过期后将不再可用。
Redis PERSIST 命令用于移除给定 key 的过期时间,使得 key 永不过期。
Redis Pttl 命令以毫秒为单位返回 key 的剩余过期时间。
Redis TTL 命令以秒为单位返回 key 的剩余过期时间。
测试记录:
127.0.0.1:6379> set my_db "oracle mysql redis mongodb hive" OK 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> get my_db "oracle mysql redis mongodb hive" 127.0.0.1:6379> 127.0.0.1:6379> expire my_db 60 (integer) 1 127.0.0.1:6379> TTL my_db (integer) 55 127.0.0.1:6379> get my_db "oracle mysql redis mongodb hive" 127.0.0.1:6379> 127.0.0.1:6379> TTL my_db (integer) 17 127.0.0.1:6379> get my_db "oracle mysql redis mongodb hive" 127.0.0.1:6379> 127.0.0.1:6379> TTL my_db (integer) -2 127.0.0.1:6379> get my_db (nil) 127.0.0.1:6379>
复制
1.4 Keys pattern命令
Redis Keys 命令用于查找所有符合给定模式 pattern 的 key 。。
测试记录:
127.0.0.1:6379> set my_db1 Oracle OK 127.0.0.1:6379> set my_db2 MySQL OK 127.0.0.1:6379> set my_db3 SQLServer OK 127.0.0.1:6379> set my_db4 PostgreSQL OK 127.0.0.1:6379> keys my_db* 1) "my_db3" 2) "my_db2" 3) "my_db1" 4) "my_db4" 127.0.0.1:6379>
复制
1.5 Move命令
Redis MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中。
测试记录:
-- redis默认使用数据库 0,为了清晰起见,这里再显式指定一次。 127.0.0.1:6379> select 0 OK 127.0.0.1:6379> set my_db "Oracle MySQL Redis MongoDB" OK 127.0.0.1:6379> get my_db "Oracle MySQL Redis MongoDB" 127.0.0.1:6379> -- 将 my_db 移动到数据库1 127.0.0.1:6379> move my_db 1 (integer) 1 127.0.0.1:6379> 127.0.0.1:6379> get my_db (nil) -- 使用数据库1 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> get my_db "Oracle MySQL Redis MongoDB" 127.0.0.1:6379[1]>
复制
1.6 RANDOMKEY 命令
Redis RANDOMKEY 命令从当前数据库中随机返回一个 key
测试记录:
127.0.0.1:6379> 127.0.0.1:6379> mset my_db1 Oracle my_db2 MySQL my_db3 redis OK 127.0.0.1:6379> randomkey "my_db1" 127.0.0.1:6379> randomkey "my_db3" 127.0.0.1:6379> randomkey "my_db2" 127.0.0.1:6379> randomkey "my_db1" 127.0.0.1:6379> keys * 1) "my_db3" 2) "my_db2" 3) "my_db1" 127.0.0.1:6379> 127.0.0.1:6379> flushDB OK 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> 127.0.0.1:6379>
复制
1.7 RENAME/RENAMENX
RENAME key newkey 修改 key 的名称
RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey
测试记录:
127.0.0.1:6379> set my_db1 Oracle OK 127.0.0.1:6379> set my_db2 MySQL OK 127.0.0.1:6379> rename my_db1 my_db3 OK 127.0.0.1:6379> keys * 1) "my_db3" 2) "my_db2" 127.0.0.1:6379> rename my_db2 my_db3 OK 127.0.0.1:6379> keys * 1) "my_db3" 127.0.0.1:6379> 127.0.0.1:6379> flushDB OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> 127.0.0.1:6379> set my_db1 Oracle OK 127.0.0.1:6379> set my_db2 MySQL OK 127.0.0.1:6379> renamenx my_db1 my_db3 (integer) 1 127.0.0.1:6379> keys * 1) "my_db3" 2) "my_db2" 127.0.0.1:6379> renamenx my_db2 my_db3 (integer) 0 127.0.0.1:6379> keys * 1) "my_db3" 2) "my_db2" 127.0.0.1:6379>
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
相关阅读
国产非关系型数据库 Eloqkv 初体验
JiekeXu
156次阅读
2025-04-10 23:51:35
融合Redis缓存的PostgreSQL高可用架构
梧桐
109次阅读
2025-04-08 06:35:40
Redis概要
听溪
49次阅读
2025-04-11 10:23:10
安装与配置Redis
鲁鲁
42次阅读
2025-04-11 10:26:10
Redis改协议内幕曝光!核心开发者亲述被“踢出局”,外部贡献者几乎全跑光了!
老鱼笔记
40次阅读
2025-04-17 10:41:56
Redis数据库——Cluster集群模式
编程Cookbook
40次阅读
2025-04-16 15:34:44
使用Jedis访问Redis数据库
怀念和想念
38次阅读
2025-04-11 15:08:30
Redis geo 实战:“附近的人”实现,打造社交的新维度
老王两点中
35次阅读
2025-04-11 09:02:30
Redis
鲁鲁
30次阅读
2025-04-07 20:14:35
Redis提供的持久化机制
luyingjun
28次阅读
2025-04-11 15:11:05