redis key命令

备注:测试版本 redis 4.0.9

key命令概述

命令概述
del key该命令用于在 key 存在是删除 key
dump key序列化给定 key ,并返回被序列化的值
exists key检查给定 key 是否存在
expire key seconds为给定 key 设置过期时间
EXPIREAT key timestampEXPIREAT 的作用和 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> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值