Redis管理禁用命令

在redis数据量比较大时,执行 keys * ,fluashdb 这些命令,会导致redis长时间阻塞,大量请求被阻塞,cpu飙升,严重可能导致redis宕机,数据库雪崩。所以一些命令在生产环境禁止使用。

Redis 禁用命令

为防止执行高危操作过程,Redis 数据的安全,Redis 禁用了如下命令:

  1. BGREWRITEAOF:

    • 功能: 异步重写 AOF(Append Only File)文件,优化文件大小。

    • 用途: 用于在不中断服务的情况下优化持久化文件。

  2. BGSAVE:

    • 功能: 异步保存当前数据库的状态到磁盘。

    • 用途: 用于在后台进行数据备份。

  3. CONFIG:

    • 功能: 用于获取和设置 Redis 服务器的配置参数。

    • 用途: 用于动态调整 Redis 服务器的配置,如内存限制、日志级别等。

  4. DEBUG:

    • 功能: 提供一系列调试命令,如 DEBUG OBJECT 和 DEBUG SEGFAULT

    • 用途: 用于诊断和调试 Redis 服务器的问题。

  5. KEYS:

    • 功能: 查找所有符合给定模式的键。

    • 用途: 用于查找和管理数据库中的键,但要注意在大数据库中使用可能会影响性能。

  6. REPLICAOF:

    • 功能: 将当前服务器设置为另一个 Redis 服务器的副本。

    • 用途: 用于实现主从复制,提高数据可靠性和读取性能。

  7. SAVE:

    • 功能: 同步保存当前数据库的状态到磁盘。

    • 用途: 用于立即进行数据备份,但会阻塞服务器直到保存完成。

  8. SHUTDOWN:

    • 功能: 安全地关闭 Redis 服务器。

    • 用途: 用于在维护或升级时关闭服务器,可以带参数如 NOSAVE 或 SAVE 来控制是否在关闭前进行保存。

  9. SLAVEOF:

    • 功能: 与 REPLICAOF 功能相同,但 SLAVEOF 是旧版本的命令,新版本推荐使用 REPLICAOF

    • 用途: 用于实现主从复制。

如何规避Redis的危险命令

修改服务器的配置文件redis.conf,在SECURITY这一项中,我们新增以下命令:

rename-command BGREWRITEAOF ""
rename-command BGSAVE  		""
rename-command CONFIG   	""
rename-command KEYS     	""
rename-command DEBUG 		""
rename-command REPLICAOF  	""
rename-command SAVE   		""
rename-command SHUTDOWN     ""
rename-command SLAVEOF 		""

如果想要保留命令,但是不能轻易使用,可以重命名命令来设定,设置随机字符代替:

rename-command BGREWRITEAOF d1ce7f8be0453da5fe3a114136ab9fc2
rename-command BGSAVE  		a1d305d283aeebbbb63205e258b115d2
rename-command CONFIG   	73e99d350a4aa6f1a5af04ec29173f73
rename-command KEYS     	48fb38e1f876fa3dc9c8cd6cad73c243
rename-command DEBUG 		dc30ec20708ef7b0f641ef78b7880a15
rename-command REPLICAOF  	13bc29f65cfd5353e36769924a62b401
rename-command SAVE   		f5cf47ab06d0d98b0d16d10c82d87953
rename-command SHUTDOWN     b9984206799a7f9fe4bd1b6c18db8112
rename-command SLAVEOF 		edffca596321632e1845860c7104bf92

对于FLUSHALL命令,需要设置配置文件中appendonly no,否则服务器无法启动。

重启服务器




相关推荐

  1. 【前端】eslint 禁用命令

    2024-07-10 17:06:04       26 阅读
  2. Redis管理和数据库管理命令详解

    2024-07-10 17:06:04       46 阅读
  3. Redis命令

    2024-07-10 17:06:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 17:06:04       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 17:06:04       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 17:06:04       90 阅读
  4. Python语言-面向对象

    2024-07-10 17:06:04       98 阅读

热门阅读

  1. 配置 VSCode C++ 调试时, 常见错误教程

    2024-07-10 17:06:04       34 阅读
  2. HarmonyOS应用开发前景及使用工具

    2024-07-10 17:06:04       24 阅读
  3. JVM的基础介绍(1)

    2024-07-10 17:06:04       26 阅读
  4. 开源项目编译harbor arm架构的包 —— 筑梦之路

    2024-07-10 17:06:04       25 阅读