Redis学习笔记(二):Redis keys 命令

Redis keys 命令

下表给出了与 Redis 键相关的基本命令:

序号命令及描述
1

DEL key
该命令用于在 key 存在时删除 key。

2

DUMP key 
序列化给定 key ,并返回被序列化的值。

 

实例

首先,我们在 redis 中创建一个 key 并设置值。

redis> SET greeting "hello world!"
OK

现在使用 DUMP 序列化键值。

redis> DUMP greeting
"\x00\x15hello world!\x06\x00E\xa0Z\x82\xd8r\xc1\xde"

redis> DUMP not-exists-key
(nil)
3

EXISTS key 
检查给定 key 是否存在。

4EXPIRE key seconds
为给定 key 设置过期时间,以秒计。
5EXPIREAT key timestamp 
EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
6PEXPIRE key milliseconds 
设置 key 的过期时间以毫秒计。
7PEXPIREAT key milliseconds-timestamp 
设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
8

KEYS pattern 
查找所有符合给定模式( pattern)的 key 。

 

实例

首先创建一些 key,并赋上对应值:

redis 127.0.0.1:6379> SET key1 redis
OK
redis 127.0.0.1:6379> SET key2 mysql
OK
redis 127.0.0.1:6379> SET key3 mongodb
OK

查找以 key为开头的 key:

redis 127.0.0.1:6379> KEYS key*
1) "key3"
2) "key1"
3) "key"
9

MOVE key db 
将当前数据库的 key 移动到给定的数据库 db 当中。

 

实例

# key 存在于当前数据库

redis> SELECT 0                             # redis默认使用数据库 0,为了清晰起见,这里再显式指定一次。
OK

redis> SET song "secret base - Zone"
OK

redis> MOVE song 1                          # 将 song 移动到数据库 1
(integer) 1

redis> EXISTS song                          # song 已经被移走
(integer) 0

redis> SELECT 1                             # 使用数据库 1
OK

redis:1> EXISTS song                        # 证实 song 被移到了数据库 1 (注意命令提示符变成了"redis:1",表明正在使用数据库 1)
(integer) 1


# 当 key 不存在的时候

redis:1> EXISTS fake_key
(integer) 0

redis:1> MOVE fake_key 0                    # 试图从数据库 1 移动一个不存在的 key 到数据库 0,失败
(integer) 0

redis:1> select 0                           # 使用数据库0
OK

redis> EXISTS fake_key                      # 证实 fake_key 不存在
(integer) 0


# 当源数据库和目标数据库有相同的 key 时

redis> SELECT 0                             # 使用数据库0
OK
redis> SET favorite_fruit "banana"
OK

redis> SELECT 1                             # 使用数据库1
OK
redis:1> SET favorite_fruit "apple"
OK

redis:1> SELECT 0                           # 使用数据库0,并试图将 favorite_fruit 移动到数据库 1
OK

redis> MOVE favorite_fruit 1                # 因为两个数据库有相同的 key,MOVE 失败
(integer) 0

redis> GET favorite_fruit                   # 数据库 0 的 favorite_fruit 没变
"banana"

redis> SELECT 1
OK

redis:1> GET favorite_fruit                 # 数据库 1 的 favorite_fruit 也是
"apple"
10PERSIST key 
移除 key 的过期时间,key 将持久保持。
11PTTL key 
以毫秒为单位返回 key 的剩余的过期时间。
12TTL key 
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
13

RANDOMKEY 
从当前数据库中随机返回一个 key 。

 

实例

# 数据库不为空

redis> MSET fruit "apple" drink "beer" food "cookies"   # 设置多个 key
OK

redis> RANDOMKEY
"fruit"

redis> RANDOMKEY
"food"

redis> KEYS *    # 查看数据库内所有key,证明 RANDOMKEY 并不删除 key
1) "food"
2) "drink"
3) "fruit"


# 数据库为空

redis> FLUSHDB  # 删除当前数据库所有 key
OK

redis> RANDOMKEY
(nil)
14RENAME key newkey 
修改 key 的名称
15RENAMENX key newkey 
仅当 newkey 不存在时,将 key 改名为 newkey 。
16TYPE key 
返回 key 所储存的值的类型。

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值