欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Redis数据库】命令学习笔记——键(key)(20个超全字典版)

程序员文章站 2022-06-04 11:07:17
...

 

安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑!

准备工作,使用db1(默认db0,由于之前练习用db0,这里为避免混淆)。再创建一些数据如下:

切换成db1

select 1

创建键值为runoobkey redis的数据

SET runoobkey redis

获取键为runoobkey的值

get runoobkey

详细介绍:

序号 命令 描述 实例 返回

1

DEL key 该命令用于在 key 存在时删除 key 删除键runoobkey:del runoobkey

成功:(integer) 1

失败:(integer) 0

2 DUMP key 序列化给定 key ,并返回被序列化的值 将键为runoobkey序列化:dump runoobkey "\x00\x05redis\b\x00|}ENK67\x19"
3 EXISTS key 检查给定 key 是否存在 检查是否存在runoobkey:EXISTS runoobkey

存在:(integer) 1

不存在:(integer) 0

4 EXPIRE key seconds 为给定 key 设置过期时间 键为name设置过期时间为100秒:EXPIRE name 100

成功:(integer) 1

失败:(integer) 0

5 EXPIREAT key timestamp  EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp) 键为name设置过期时间为2019年1月1日零点:EXPIREAT name 1546272000  

成功:(integer) 1

失败:(integer) 0

6 PEXPIRE key milliseconds 设置 key 的过期时间以毫秒计 键为age设置过期时间为1000毫秒:PEXPIRE age 1000

成功:(integer) 1

失败:(integer) 0

7 PEXPIREAT key milliseconds-timestamp 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 键为sex设置过期时间为2019年1月1日零点:EXPIREAT sex 1546272000000

成功:(integer) 1

失败:(integer) 0

8 KEYS pattern 查找所有符合给定模式( pattern)的 key 键为a打头的:KEYS a* 1) "apples"
2) "age"
9 MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中 键为age移到数据库3中:move age 3

成功:(integer) 1

失败:(integer) 0

10 PERSIST key 移除 key 的过期时间,key 将持久保持 移除键为sex过期时间:PERSIST sex

成功:(integer) 1

失败:(integer) 0

11 PTTL key 以毫秒为单位返回 key 的剩余的过期时间 键为apples的过期时间:PTTL apples (integer) 10996644158
12 TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live) 键为apples的过期时间:TTL apples (integer) 10996577
13 RANDOMKEY 从当前数据库中随机返回一个 key RANDOMKEY "cats"
14 RENAME key newkey 修改 key 的名称 键为cats改为cat:RENAME cats cat OK
15 RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey  键为cat改为apples:RENAMENX cat apples 

成功:(integer) 1

失败:(integer) 0

16 TYPE key 返回 key 所储存的值的类型 键为name值得类型:type name 

字符:string

哈希:hash

列表:list

集合:set

有序集合:zset

17 OBJECT [REFCOUNT|IDLETIME| ENCODING][arguments [arguments]] OBJECT REFCOUNT <key> 返回给定 key 引用所储存的值的次数。此命令主要用于除错。
OBJECT ENCODING <key> 返回给定 key 锁储存的值所使用的内部表示(representation)。
OBJECT IDLETIME <key> 返回给定 key 自储存以来的空闲时间(idle, 没有被读取也没有被写入),以秒为单位。
 

查看键为signtime的引用次数:OBJECT REFCOUNT signtime;

空闲时间:OBJECT IDLETIME apples;

编码方式:OBJECT ENCODING apples

(integer) 1;

(integer) 13;

"int"

18 RESTORE key ttl serialized-value [REPLACE]

反序列化给定的序列化值,并将它和给定的 key 关联。
参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。

RESTORE greetingcp 0 "\x00\x15hello, dumping world!\b\x00j`\xde\xbd\x84>wu"

OK;

get greetingcp
"hello, dumping world!"

19 SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]

返回或保存给定列表、集合、有序集合 key 中经过排序的元素。
排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。

键为score的值倒序排序并存到sorted-numbers中:sort scores desc STORE sorted-numbers

(integer) 2
20 SCAN cursor [MATCH pattern] [COUNT count] SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代,直到命令返回游标 0,我们称这个过程为一次完整遍历

开始新的迭代,匹配*i*,返回两个: scan 0 match *i* count 2

1) "12"
2) 1) "greeting"

序号为17命令实例(get操作后明显看到空闲时长小很多!)

127.0.0.1:6379[1]> OBJECT idletime apples
(integer) 1229
127.0.0.1:6379[1]> get apples
"7"
127.0.0.1:6379[1]> OBJECT idletime apples
(integer) 7
127.0.0.1:6379[1]> OBJECT idletime apples
(integer) 13

序号为18命令实例 

127.0.0.1:6379[1]> SET greeting "hello, dumping world!"
OK
127.0.0.1:6379[1]> DUMP greeting
"\x00\x15hello, dumping world!\b\x00j`\xde\xbd\x84>wu"

127.0.0.1:6379[1]> RESTORE greetingcp 0 "\x00\x15hello, dumping world!\b\x00j`\xde\xbd\x84>wu"
OK
127.0.0.1:6379[1]> get greetingcp
"hello, dumping world!"

 

网上有很多参考文档,推荐:http://redisdoc.com/ (是 Redis Command Reference 和 Redis Documentation 的中文翻译版,包括Redis 命令的具体使用方法,Redis 的事务、持久化、复制、Sentinel、集群等功能,超详细!)

上一篇:【Redis数据库】Linux下Redis安装与redis-desktop-manager使用

下一篇:【Redis数据库】命令学习笔记——字符串(String)(23个超全字典版)