Redis配置文件
Redis可以在没有配置文件的情况下使用内置的默认配置启动,但是这种设置仅推荐用于测试和开发。
配置Redis的正确方法是提供一个Redis配置文件,通常称为 redis.conf 。
通过命令行传递参数启动
你也可以直接使用命令行传递Redis配置参数。这对于测试非常有用。下面是一个使用端口6380启动一个新Redis实例的例子,它是运行在127.0.0.1端口6379的实例的副本。
./redis-server --port 6380 --replicaof 127.0.0.1 6379
执行
REPLIACOF hostname port会将当前服务器转变为某一服务器的副本服务器
通过命令行传递的参数的格式与redis.conf文件中使用的格式完全相同,只是关键字的前缀是-- 。
在服务器运行时更改Redis配置
你可以在不停止和重新启动服务的情况下动态地重新配置Redis,或者使用特殊命令CONFIG SET和CONFIG GET以编程方式查询当前配置。
请注意,动态修改配置对redis.conf文件没有影响,因此下次重新启动Redis时,将使用旧配置。
要使CONFIG SET的配置修改永久生效,您可以手动修改redis.conf配置文件,也可以使用CONFIG REWRITE,它将自动扫描您的redis.conf文件并更新与当前配置值不匹配的字段。不添加不存在但设置为默认值的字段,配置文件中的注释将被保留。
配置文件详解
redis.conf配置文件:https://raw.githubusercontent.com/antirez/redis/7.2/redis.conf
下面整理一些比较重要的配置项:
| 配置项 | 配置项值范围 | 说明 |
|---|---|---|
| daemonize | yes/no | yes表示启用守护进程,默认是no即不以守护进程方式运行。 |
| port | 指定Redis监听端口,默认端口为6379。 | |
| bind | 绑定的主机地址。如果需要设置远程访问则可以直接将这个配置项注释或者修改为bind *,这个配置项和下面的protected-mode控制了是否可以远程访问。 | |
| protected-mode | yes/no | 保护模式。该模式控制了外网是否可以连接Redis服务。默认是Redis,即外网无法访问。如需外网连接Redis服务需要将此配置项修改为no。 |
| loglevel | debug/verbose/notice/warning | 日志级别,默认为notice |
| databases | 16 | 设置数据库的数量,默认的数据库是DB 0,可以通过SELECT <dbid>选择数据库,dbid从0到databases-1。 |
| rdbcompression | yes/no | 指定存储到本地数据库时是否压缩,默认为yes。Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该配置项,但会导致数据库文件变得巨大。 |
| dbfilename | dump.rdb | 指定本地数据库文件名,默认为dump.rdb |
| dir | 指定本地数据库存放目录 | |
| requirepass | 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH命令提供密码,默认关闭 | |
| maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置maxclients为0,表示不做限制。当客户端连接数达到限制时,Redis会关闭连接并向客户端返回max number of clients reached错误信息。 |
| maxmemory | 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的key,此方法处理后,仍然到达最大内存限制,将无法进行写入操作,但仍可以进行读取操作。Redis新的vm机制,会把Key存放到内存中,Value会存放在swap区。配置项值范围为内存数值。 | |
| pidfile | “/var/run/redis_6379.pid” | 当Redis以守护进程方式运行时,Redis默认会把pid写入 /var/run/redis.pid 文件,可以通过pidfile指定 |
| timeout | 0 | 当客户端闲置多长秒后关闭连接,默认为为0 ,表示关闭该功能。 |
| save [ ] | Redis默认提供如下配置: save 3600 1:3600秒(1小时)内有一个更改 save 300 100:300秒(5分钟)内有100个更改 save 60 10000:60秒(1分钟)内有10000个更改 | 指定在多长时间内,有多少次更新操作,就将数据保存到数据文件,可以多个条件配合使用。 |
| appendonly | yes/no | 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为 no。 |
当涉及到内存时,可以以1K、5GB、4M等方式指定。
1K => 1000 bytes
1KB => 1024 bytes
1M => 1000000 bytes
1MB => 1024 * 1024 bytes
1G => 1000000000 bytes
1GB => 1024 * 1024 * 1024 bytes
使用1GB、1Gb、1gB都是等效的。
更多配置项介绍查看Redis样例配置文件,有比较详细的注释。
参考
- https://zhuanlan.zhihu.com/p/469102289
- https://redis.io/docs/management/config/
- https://www.runoob.com/redis/redis-conf.html
相关文章:
Redis配置文件
Redis可以在没有配置文件的情况下使用内置的默认配置启动,但是这种设置仅推荐用于测试和开发。 配置Redis的正确方法是提供一个Redis配置文件,通常称为 redis.conf 。 通过命令行传递参数启动 你也可以直接使用命令行传递Redis配置参数。这对于测试非…...
[量化投资-学习笔记009]Python+TDengine从零开始搭建量化分析平台-KDJ
技术分析有点像烹饪,收盘价、最值、成交量等是食材;均值,移动平均,方差等是烹饪方法。随意组合一下就是一个技术指标。 KDJ又称随机指标(随机这个名字起的很好)。KDJ的计算依据是最高价、最低价和收盘价。…...
Activiti6工作流引擎:Form表单
表单约等于流程变量。StartEvent 有一个Form属性,用于关联流程中涉及到的业务数据。 一:内置表单 每个节点都可以有不同的表单属性。 1.1 获取开始节点对应的表单 Autowired private FormService formService;Test void delopyProcess() {ProcessEngi…...
Fortran 中的指针
Fortran 中的指针 指针可以看作一种数据类型 指针存储与之关联的数据的内存地址变量指针:指向变量数组指针:指向数组过程指针:指向函数或子程序指针状态 未定义未关联 integer, pointer::p1>null() !或者 nullify(p1) 已关联 指针操作 指…...
第七章 块为结构建模 P4|系统建模语言SysML实用指南学习
仅供个人学习记录 这部分感觉很模糊,理解的不好,后面的图也没画了,用到的时候再来翻书 应用端口实现接口建模 端口port表示了块边界上的一个访问点,也可以是由该块分类的任何组成或引用边界上的可访问点。一个块可以有多个端口规…...
提升中小企业效率的不可或缺的企业云盘网盘
相比之大型企业,中小型企业在挑选企业云盘工具更注重灵活性和成本。那么市面上有哪些企业云盘产品更适合中小企业呢? 说起中小企业不能错过的企业云盘网盘,Zoho Workdrive企业云盘绝对榜上有名! Zoho Workdrive企业云盘为用户提…...
Web 安全之时序攻击 Timing Attack 详解
目录 什么是 Timing Attack 攻击? Timing Attack 攻击原理 Timing Attack 攻击的几种基本类型 如何防范 Timing Attack 攻击 小结 什么是 Timing Attack 攻击? Timing Attack(时序攻击)是一种侧信道攻击(timing s…...
【objectarx.net】定时器的使用
【objectarx.net】定时器的使用...
C++:容器list的介绍及使用
目录 1.list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator 的使用 1.2.3 list capacity 容量 1.2.4 list element access 访问list元素 1.2.5 list modifiers 修改 1.2.6 迭代器失效 1.list的介绍及使用 1.1 list的介绍 C官网 …...
元核云亮相金博会,智能质检助力金融合规
11月初,第五届中新(苏州)数字金融应用博览会|2023金融科技大会在苏州国际博览中心举办,围绕金融科技发展热点领域及金融行业信息科技领域重点工作,分享优秀实践经验,探讨数字化转型路径与未来发…...
Harmony 应用开发的知识储备
Harmony 应用开发的知识储备 前言正文一、DevEco Studio版本二、手机版本① 环境变量 三、API版本四、开发语言五、运行调试 前言 这里先说明一点,如果你对Android应用开发很熟悉,那么做Harmony应用开发也可以驾轻就熟,只不过在此之前你需要知…...
(层次遍历)104. 二叉树的最大深度
原题链接:(层次遍历)104. 二叉树的最大深度 思路: 使用层序遍历模板,遍历每一层 hight1 返回hight即可 全代码: class Solution { public:int maxDepth(TreeNode* root) {queue<TreeNode*> que;int hight 0;if(root NU…...
【api_fox】ApiFox简单操作
1、get和post请求的区别?2、接口定义时的传参格式?3、保存接口文档 apifox当中接口文档的设计和接口用例的执行是分开的。 1、get和post请求的区别? 2、接口定义时的传参格式? 3、保存接口文档 就生成如下的接口文档。...
给CAD中添加自定义菜单CUIX
本文以AutoCAD2020为例,介绍如何添加自定义菜单。 打开AutoCAD2020,在命令行执行CUI并回车,出现菜单 进入菜单编辑界面 点击传输,然后新建 在菜单上右键,添加自定义菜单 点击保存,即可存为cuix文件。之后…...
Qt重启windows服务
日常开发中,会遇到改变某个服务的参数,并进行重启(例如Redis断电恢复机制) 需要程序拥有UAC权限,并且调用如下API才能对windows服务进行重启: #include "windows.h"#pragma comment(lib, "…...
OD机考真题:宜居星球改造计划
题目 2XXX 年,人类通过对火星的大气进行宜居改造分析,使得火星已在理论上具备人类宜居的条件; 由于技术原因,无法一次性将火星大气全部改造,只能通过局部处理形式; 假设将火星待改造的区域为 row * column_row_∗_column_ 的网格,每个网格有 3 个值,宜居区、可改造区、…...
Python每日练习:20个常用代码,初学者也可以自己实现!
文章目录 前言20个代码1.重复元素判定2.字符元素组成判定3.内存占用4.字节占用5.打印 N 次字符串6.大写第一个字母7.分块8.压缩9.解包10.链式对比11.逗号连接12.元音统计13.首字母小写14.展开列表15.列表的差16.通过函数取差17.链式函数调用18.检查重复项19.合并两个字典20.将两…...
GitHub Copilot Chat将于12月全面推出;DeepLearning.AI免费新课
🦉 AI新闻 🚀 GitHub Copilot Chat将于12月全面推出,提升开发者的生产力 摘要:GitHub宣布将于12月全面推出GitHub Copilot Chat,这是GitHub Copilot的一个新功能,旨在帮助开发者编写代码。它能够集成到开…...
Java的流操作:让数据处理更简单,更高效
Java 8引入了一种新的抽象概念——流(Stream),它允许我们以声明式方式处理数据集合。通过使用流,可以更简洁、更易读地编写代码来对集合进行复杂的操作,如过滤、映射、排序等。本文将介绍Java 8的流操作的基本概念和使…...
3D渲染原理及朴素JavaScript实现【不使用WebGL】
在网页中显示图像和其他平面形状非常容易。 然而,当涉及到显示 3D 形状时,事情就变得不那么容易了,因为 3D 几何比 2D 几何更复杂。 为此,你可以使用专用技术和库,例如 WebGL 和 Three.js。 但是,如果你只…...
Minecraft世界管理终极指南:如何用MCA Selector快速清理和优化你的存档 [特殊字符]
Minecraft世界管理终极指南:如何用MCA Selector快速清理和优化你的存档 🎮 【免费下载链接】mcaselector A tool to select chunks from Minecraft worlds for deletion or export. 项目地址: https://gitcode.com/gh_mirrors/mc/mcaselector MCA…...
如何让10美元鼠标超越苹果触控板?Mac Mouse Fix终极指南
如何让10美元鼠标超越苹果触控板?Mac Mouse Fix终极指南 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 还在为macOS上鼠标体验不佳…...
站长日记:我拿着P90的区间图,却叫不动机房里的兄弟
我们花了三年把预测精度从85%拉到92%,却发现真正的问题不在曲线上凌晨两点,集控室。调度电话刚挂,AGC指令从280MW跳到410MW。我盯着屏幕上那条P10-P90的预测区间带——宽得像条马路。理论上,我知道明天凌晨3点,风功率大…...
告别‘黑盒’:用改进的U-Net+数据增强,实战搞定皮肤镜图像分割(附ISIC 2017数据集代码)
医学图像分割实战:改进U-Net在皮肤镜分析中的应用详解 当第一次看到皮肤镜图像时,大多数人都会被那些看似随机分布的色素沉着和复杂纹理所困惑。作为一名长期从事医学影像分析的研究者,我清楚地记得刚开始接触ISIC数据集时的挫败感——那些模…...
从‘你好世界’到模型输入:手把手用PyTorch+Transformers Tokenizer完成文本预处理全流程
从‘你好世界’到模型输入:手把手用PyTorchTransformers Tokenizer完成文本预处理全流程 当你第一次接触自然语言处理(NLP)时,可能会被各种术语和概念搞得晕头转向。但别担心,每个NLP工程师都曾经历过从"Hello Wo…...
别再被PyTorch的广播机制搞懵了!手把手图解从(5,3,4,1)到(3,1,1)的自动扩展过程
图解PyTorch广播机制:从(5,3,4,1)到(3,1,1)的视觉化拆解 第一次接触PyTorch广播机制时,你是否也被那些"从末尾遍历"、"维度为1时扩展"的规则描述弄得晕头转向?作为深度学习框架中的核心概念,广播机制看似简单…...
别再只盯着总体精度了!深入理解Kappa系数:你的遥感分类结果到底‘好’在哪里?
别再只盯着总体精度了!深入理解Kappa系数:你的遥感分类结果到底‘好’在哪里? 当我们完成一次遥感影像分类后,总会迫不及待地查看总体精度(Overall Accuracy)这个指标。85%!看起来不错ÿ…...
JavaScript中模板字符串处理多行文本的排版优势
模板字符串用反引号包裹,支持多行、保留换行缩进、内嵌变量表达式(如${name})、配合标签函数实现转义/格式化,调试可用JSON.stringify查看真实换行。JavaScript 中模板字符串(Template Literals)用反引号 …...
从手机热点到云平台:ESP8266 Wi-Fi模块的完整入网调试指南(含STA模式配置避坑点)
从手机热点到云平台:ESP8266 Wi-Fi模块的完整入网调试指南 在物联网设备开发中,稳定可靠的网络连接是项目成功的关键前提。ESP8266作为一款高性价比的Wi-Fi模块,其灵活的工作模式和丰富的AT指令集使其成为众多开发者的首选。然而,…...
Applite:macOS上免费的Homebrew图形界面终极解决方案
Applite:macOS上免费的Homebrew图形界面终极解决方案 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 还在为复杂的终端命令而烦恼吗?Applite这款创新的…...
