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,否则服务器无法启动。

重启服务器




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】指针(3):探索-不同类型指针变量

目录 一、字符指针变量 二、数组指针变量 三、二维数组传参的本质 四、函数指针变量 4.1 函数指针变量 4.2 函数指针变量的使用 4.3 函数指针变量的拓展 五、函数指针数组 六、转移表的应用 通过深入理解指针(1)和深入理解指针(2&am…

67.SAP FICO-凭证类型学习

目录 SAP凭证类型 凭证类型的作用 - OBA7 SAP默认的凭证类型更改 FI相应事务代码默认凭证类型 - OBU1 对FB50、60、70默认凭证类型的更改 - OBZO 后勤货物移动默认凭证类型 - OMBA 发货凭证类型 收货凭证类型 自动移动凭证类型 存货盘点凭证类型 发票默认的凭证类…

深度学习Day-24:ResNeXt-50算法思考

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 要求: 阅读给出代码,判断是否存在错误,正确与否都请给出你的思考;查找…

如何减少开发过程中的bug-数据库篇

1.1慢查询 1.1.1 是否命中索引 提起慢查询,我们马上就会想到加索引。如果一条SQL没加索引,或者没有命中索引的话,就会产生慢查询。 索引哪些情况会失效? 查询条件包含or,可能导致索引失效 如果字段类型是字符串&am…

LeetCode 0724.寻找数组的中心下标:前缀和(时空复杂度O(n)+O(1))

title: 724.寻找数组的中心下标 date: 2024-07-08 13:22:58 tags: [题解, LeetCode, 简单, 数组, 前缀和] 【LetMeFly】724.寻找数组的中心下标:前缀和(时空复杂度O(n)O(1)) 力扣题目链接:https://leetcode.cn/problems/find-pi…

数据结构--二叉树相关习题5(判断二叉树是否是完全二叉树 )

1.判断二叉树是否是完全二叉树 辨别: 不能使用递归或者算节点个数和高度来判断。 满二叉树可以用高度和节点来判断,因为是完整的。 但是完全二叉树前面是满的,但是最后一层是从左到右连续这种 如果仍然用这种方法的话,如下图…

暑期备考2024小学生古诗文大会:吃透真题和知识点(持续)

2024年上海市小学生古诗文大会的自由报名初赛将于10月19日(星期六)正式开始,还有3个多月的时间。 为帮助孩子们备考,我持续分享往年上海小学生古诗文大会真题,这些题目来自我去重、合并后的1700在线题库,每…

加密与安全_密钥体系的三个核心目标之完整性解决方案

文章目录 Pre机密性完整性1. 哈希函数(Hash Function)定义特征常见算法应用散列函数常用场景散列函数无法解决的问题 2. 消息认证码(MAC)概述定义常见算法工作原理如何使用 MACMAC 的问题 不可否认性数字签名(Digital …

SketchUp Pro 2024:现代科技之诗意体验

在那遥远的唐朝,李白曾以诗酒为伴,游历山川,挥洒才情。而今,若李白穿越时空,手握现代科技之利器——SketchUp Pro 2024,定会以诗意之笔,描绘这款软件的神奇与魅力。 初识SketchUp Pro 2024 初…

Vue Router:History 模式 vs. Hash 模式

在开发 SPA(单页应用程序)时,路由管理是不可或缺的一部分。Vue.js 框架中的 Vue Router 提供了两种主要的路由模式:History 模式和 Hash 模式。理解这两种模式的区别及其实现方式,对于开发和部署 Vue 应用至关重要。 …

k8s record 20240708

一、PaaS 云平台 web界面 资源利用查看 Rancher 5台 CPU 4核 Mem 4g 100g的机器 映射的目录是指docker重启后,数据还在 Rancher可以创建集群也可以托管已有集群 先docker 部署 Rancher,然后通过 Rancher 部署 k8s 想使用 kubectl 还要yum install 安…

如何分析前后端bug?

如何分析前后端bug,我来支你1️⃣招 📝一般通过查看接口的方式分析前后端bug。 . 【方法】: web项目,用浏览器自带的F12抓包看接口请求。 app客户端,一般用fiddler等工具进行抓包接口。 . ✅用经典的电商项目举例&…

应用软件受到网络攻击怎么办?

大家都知道在目前的互联网社会中,大型的网络游戏与电商网站企业是网络攻击的重要对象,同时软件应用也无法避免地会受到各种网络攻击,那么当我们的软件应用被攻击时,该怎么办呢? 首先我们可以使用高防CDN,安…

2. 年龄问题

年龄问题 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 S 夫人一向很神秘。这会儿有人问起她的年龄,她想了想说: "2020 年前,我丈夫的年龄刚好是我的 22 倍,…

ATA-8035射频功率放大器在声动力疗法中的应用

声动力疗法是一种基于声波能量的治疗方法,广泛应用于医疗和美容领域。它利用高强度聚焦的声波来实现切割、破碎或加热组织,以治疗各种疾病和美容问题。在声动力疗法中,射频功率放大器起着至关重要的作用,它负责提供足够的能量来激…

达梦数据库的系统视图v$auditrecords

达梦数据库的系统视图v$auditrecords 在达梦数据库(DM Database)中,V$AUDITRECORDS 是专门用来存储和查询数据库审计记录的重要系统视图。这个视图提供了对所有审计事件的访问权限,包括操作类型、操作用户、时间戳、目标对象等信…

详解 | 什么是GeoTrust

GeoTrust是一家全球知名的数字证书颁发机构(Certificate Authority,简称CA),专注于提供SSL/TLS证书和其他相关的网络安全产品。 1、历史背景: GeoTrust成立于2001年,最初作为一个独立的公司运营。2006年&a…

js+spring boot实现简单前后端文件下载功能

jsboot项目实现自定义下载 一、前端页面 1、先导入axios的js包 2、注意axios响应的格式:result.data.真实的数据内容 3、这里请求的url就是你boot项目的getMapping的url,保持一致即可 4、如果想在后端设置文件名,那么后端生成后&#xf…

目标检测算法介绍来了!

随着人工智能技术的迅猛发展,目标检测算法在计算机视觉领域扮演着越来越重要的角色。它广泛应用于安防监控、自动驾驶、医学影像分析、机器人视觉等多个领域,极大地推动了智能化进程。本文将对目标检测算法进行深入的探讨,包括其基本原理、发…

使用 Streamlit 和 asyncio 模块进行异步编程

概述 Streamlit 是一个用于构建数据应用程序的强大工具,但它本身并不直接支持异步编程。然而,通过结合 Python 的 asyncio 模块,我们可以在 Streamlit 应用中实现异步处理,从而提高应用的响应性和效率。 为什么需要异步编程 在…