Redis:基础篇之数据库操作(三)

数据库操作

判断key是否存在,若 key 存在,返回 1 ,否则返回 0

127.0.0.1:6379> EXISTS name
(integer) 1

返回key所储存的值的类型,none (key不存在)、string (字符串)、list (列表)、set (集合)、zset (有序集)、hash (哈希表)、stream (流)

127.0.0.1:6379> type list1
list
127.0.0.1:6379> type name
string

修改key的值

127.0.0.1:6379> RENAME name name123
OK

修改key的值,当且仅当 newkey 不存在时,将 key 改名为 newkey

127.0.0.1:6379> RENAMENX name123 name12
(integer) 1

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

127.0.0.1:6379> MOVE name 1
(integer) 1

删除key

127.0.0.1:6379> DEL name
(integer) 1

从当前数据库中随机返回(不删除)一个 key

127.0.0.1:6379> RANDOMKEY
"list1"

返回当前数据库的 key 的数量

127.0.0.1:6379> DBSIZE
(integer) 3

查找所有符合给定模式 patternkey , 比如说:

  • KEYS * 匹配数据库中所有 key
  • KEYS h?llo 匹配 hellohallohxllo 等。
  • KEYS h*llo 匹配 hlloheeeeello 等。
  • KEYS h[ae]llo 匹配 hellohallo ,但不匹配 hillo
127.0.0.1:6379> keys *

最简单的 SORT最简单的 SORT 使用方法是 SORT keySORT key DESC : 使用方法是 SORT keySORT key DESC

127.0.0.1:6379> sort list1
1) "1"
2) "2"
3) "3"
4) "4"
127.0.0.1:6379> sort list1 desc
1) "4"
2) "3"
3) "2"
4) "1"

清空当前数据库中的所有 key,此命令从不失败。

127.0.0.1:6379> FLUSHDB

清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。此命令从不失败。

127.0.0.1:6379> FLUSHDB

切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。

127.0.0.1:6379> SELECT 0

对换指定的两个数据库, 使得两个数据库的数据立即互换。

127.0.0.1:6379> SWAPDB 0 1
OK

自动过期

EXPIRE key seconds

为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。

可以对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。

EXPIREAT key timestamp

EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。
不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。

TTL key

以秒为单位,返回给定 key 的剩余生存时间。
key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。

PERSIST key

移除给定 key 的生存时间,将这个 key 从“易失的”转换成“持久的”。

PEXPIRE key milliseconds

这个命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位。

PEXPIREAT key milliseconds-timestamp

这个命令和 expireat 命令类似,但它以毫秒为单位设置 key 的过期 unix 时间戳,而不是像 expireat 那样,以秒为单位。

PTTL key

这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位。

posted @ 2020-09-02 00:12  一杯蠢牛奶  阅读(105)  评论(0)    收藏  举报