目录

Redis常用指令

# 3. 常用指令

第一个是key的常用指令,第二个是**数据库(db)**的常用指令。和数据类型做一下区分,数据类型指令呢,都是针对某一个数据类型操作的,常用指令都是对所有的操作的

# 3.1 key 操作分析

# 3.1.1 key应该设计哪些操作?

key是一个字符串,通过key获取redis中保存的数据

对于key自身状态的相关操作,例如:删除,判定存在,获取类型等

对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等

对于key快速查询操作,例如:按指定策略查询key

# 3.1.2 key 基本操作

删除指定key

del key
1

获取key是否存在

exists key
1

获取key的类型

type key
1

3.1.3 拓展操作

排序

sort
1

改名

rename key newkey
renamenx key newkey
1
2

# 3.1.3 key 扩展操作(时效性控制)

为指定key设置有效期

expire key seconds 
pexpire key milliseconds
expireat key timestamp
pexpireat key milliseconds-timestamp
1
2
3
4

获取key的有效时间

ttl key #-1 永久有效 ;-2 不存在;
pttl key #毫秒
1
2

切换key从时效性转换为永久性

persist key
1

# 3.1.4 key 扩展操作(查询模式)

查询key

keys pattern #简单来说 就是get all 
1

查询模式规则

*匹配任意数量的任意符号 ? 配合一个任意符号 [] 匹配一个指定符号

keys *     查询所有
keys it*   查询所有以it开头
keys *heima   查询所有以heima结尾
keys ??heima    查询所有前面两个字符任意,后面以heima结尾 查询所有以
keys user:?     user:开头,最后一个字符任意
keys u[st]er:1  查询所有以u开头,以er:1结尾,中间包含一个字母,s或t
1
2
3
4
5
6

# 3.2 数据库指令

# 3.2.1 key 的重复问题

假如说你们十个人同时操作redis,会不会出现key名字命名冲突的问题。

一定会,为什么?因为你的key是由程序而定义的。你想写什么写什么,那在使用的过程中大家都在不停的加,早晚有一天他会冲突的。

redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key。

那这个问题我们要不要解决?要!怎么解决呢?我们最好把数据进行一个分类,除了命名规范我们做统一以外,如果还能把它分开,这样是不是冲突的机率就会小一些了,这就是咱们下面要说的解决方案!

# 3.2.2 解决方案

redis为每个服务提供有16个数据库,编号从0到15

每个数据库之间的数据相互独立

在对应的数据库中划出一块区域,说他就是几,你就用几那块,同时,其他的这些都可以进行定义,一共是16个,这里边需要注意一点,他们这16个共用redis的内存。没有说谁大谁小,也就是说数字只是代表了一块儿区域,区域具体多大未知。这是数据库的一个分区的一个策略!

# 3.2.3 数据库的基本操作

切换数据库

select index
1

其他操作

ping
1

# 3.2.4 数据库扩展操作

数据移动

move key db
1

数据总量

dbsize
1

数据清除

flushdb  flushall
1
上次更新: 2023/09/05 17:45:42
最近更新
01
关于我
07-14
02
科学上网
11-15
03
OSS+CDN
09-23
更多文章>
极昼青春
买辣椒也用券