Redis常用配置详解

news2024/11/15 15:27:35

目录

    • 一、Redis查看当前配置命令
    • 二、Redis基本配置
    • 三、RDB全量持久化配置(默认开启)
    • 四、AOF增量持久化配置
    • 五、Redis key过期监听配置
    • 六、Redis内存淘汰策略
    • 七、总结

一、Redis查看当前配置命令

# Redis查看当前全部配置信息
127.0.0.1:6379> CONFIG GET *

# Redis查看当前指定配置信息
127.0.0.1:6379> CONFIG GET 配置名
# 例:查看配置端口
127.0.0.1:6379> CONFIG GET port

二、Redis基本配置

# 是否以守护进程启动 默认:no
daemonize no
# 用于设置Redis绑定的网络接口(网卡)。如果不配置bind,默认情况下Redis监听所有可用的网卡,redis只接受来自绑定网络接口的请求。
# Redis的配置文件中一般默认有bind 127.0.0.1,只允许本地连接,如果想要被远程访问注释掉bind配置即可。
bind 127.0.0.1
# 是否开启保护模式 默认:yes,是否有效会被bind和requirepass配置影响
## 当protected-mode为yes
### 注释bind和requirepass,redis的保护模式生效,只能通过本地连接
### 只注释bind,配置requirepass,redis的保护模式失效,可以通过密码远程连接
### 只注释requirepass,redis的保护模式失效,可以通过bind的ip无密码连接
## 当protected-mode为no
### 无论上面的哪种场景,客户端都可以根据 bind 及 requirepass 实际参数来连接到 redis
protected-mode yes
# redis服务端口 默认:6379
port 6379
# 客户端连接空闲时间单位秒,如果在指定时间内没有操作则会断开连接 默认:0(不超时)
timeout 0
# tcp心跳检测时间单位秒,对访问客户端的一种心跳检测,每个n秒检测一次 默认:0(不检测),建议设置成60
tcp-keepalive 0
# 客户端最大连接数,设置redis同时可以与多少个客户端进行连接 默认:10000
maxclients 10000
# 日志级别配置 默认:notice
## debug:能设置的最高的日志级别,打印所有信息,包括debug信息。
## verbose:打印除了debug日志之外的所有日志。
## notice:打印除了debug和verbose级别的所有日志。
## warning:仅打印非常重要的信息。
loglevel notice
# 日志文件输出路径配置
## 该路径默认为空。可以根据自己需要把日志文件输出到指定位置。
logfile ""
# 数据库数量配置 默认:16
databases 16
# 连接密码配置 默认无密码
requirepass 123456

三、RDB全量持久化配置(默认开启)

Redis的RDB(Remote Dictionary Base)持久化机制是通过将Redis数据库的某个时间点的状态以二进制格式保存到磁盘上的方式来实现持久化,当Redis服务器需要恢复数据时,可以通过加载RDB文件来恢复数据。

# 持久化数据存储在本地的文件名称 默认:dump.rdb
dbfilename dump.rdb
# 持久化数据存储在本地的路径,默认:./(当前工作目录)
dir /data

# 用于设置RDB持久化的时间间隔和条件
## 表示每900秒内有至少1个写操作就保存一次RDB文件
save 900 1
## 表示每300秒内有至少10个写操作就保存一次RDB文件
save 300 10
## 表示每10秒内有至少1000个写操作就保存一次RDB文件
save 60 10000

# 当RDB持久化时出现错误无法继续时,是否阻塞客户端变更操作,错误可能因为磁盘已满/磁盘故障/OS级别异常等 默认:yes
stop-writes-on-bgsave-error yes  
# 是否启用RDB文件压缩,默认: yes,压缩往往意味着额外的cpu消耗,同时也意味这较小的文件尺寸以及较短的网络传输时间  
rdbcompression yes  

四、AOF增量持久化配置

可以简单的认为 AOF 就是日志文件,此文件只会记录“变更操作”(例如:set/del 等),如果 server 中持续的大量变更操作,将会导致 AOF 文件非常的庞大,意味着 server 失效后,数据恢复的过程将会很长;事实上,一条数据经过多次变更,将会产生多条 AOF 记录,其实只要保存当前的状态,历史的操作记录是可以抛弃的;因为 AOF 持久化模式还伴生了“AOF rewrite”。

  • 优点:可以保持更高的数据完整性,如果设置追加file的时间是1s,如果redis发生故障,最多会丢失1s的数据;且如果日志写入不完整支持redis-check-aof来进行日志修复;AOF文件没被rewrite之前(文件过大时会对命令进行合并重写),可以删除其中的某些命令(比如误操作的flushall)
  • 缺点:AOF文件比RDB文件大,且恢复速度慢。
# 是否开启AOP 默认:no
appendonly yes  

# 指定AOF文件名称  
appendfilename appendonly.aof  

# 用于设置AOF文件的同步策略 默认:everysec
## 可以选择"always"、"everysec"或"no"。always表示每次写入都同步,everysec表示每秒同步一次,no表示由操作系统决定何时同步
appendfsync everysec  

# 用于设置自动AOF重写的阈值。当AOF文件的扩展比例超过该值时,Redis会自动执行重写操作。默认值为100,表示当AOF文件的大小是上一次重写后大小的一倍时触发重写。  
auto-aof-rewrite-percentage 100  

# 用于设置自动AOF重写的最小大小。只有在AOF文件的大小大于该值时,才会执行重写操作。默认值为64MB,建议512mb
auto-aof-rewrite-min-size 64mb  

# 用于设置在执行AOF文件重写时是否禁用同步。如果设置为yes,则在进行重写时不会进行同步操作,默认:no
no-appendfsync-on-rewrite no  

# 用于设置在加载AOF文件时是否允许Redis忽略出现错误的命令。如果设置为"yes",则忽略错误;如果设置为"no",则不允许加载出现错误的AOF文件。默认:yes
aof-load-truncated yes

# 用于设置AOF文件的开头是否包含RDB格式的部分。如果设置为"yes",则在AOF文件的开头会先保存一份RDB格式的数据,这有助于加速数据加载。默认:no
aof-use-rdb-preamble no

五、Redis key过期监听配置

过期key事件监听可用于订单超时处理和已完成订单自动评价等功能,当给对应的key设置的过期时间到了会自动通知客户端,客户端将监听到的数据进行处理。

# key过期监听 默认:""(关闭),将notify-keyspace-events设置为Ex代表开启
notify-keyspace-events Ex

六、Redis内存淘汰策略

  • 内存淘汰算法

    • noeviction:当内存使用超过配置的时候会返回错误,不会驱逐任何键

    • allkeys-lru:加入键的时候,如果过限,首先通过LRU算法驱逐最久没有使用的键

    • volatile-lru:加入键的时候如果过限,首先从设置了过期时间的键集合中驱逐最久没有使用的键

    • allkeys-random:加入键的时候如果过限,从所有key随机删除

    • volatile-random:加入键的时候如果过限,从过期键的集合中随机驱逐

    • volatile-ttl:从配置了过期时间的键中驱逐马上就要过期的键

    • volatile-lfu:从所有配置了过期时间的键中驱逐使用频率最少的键

    • allkeys-lfu:从所有键中驱逐使用频率最少的键

# 将redis存储内存设置100mb的界限,当超过这个数值开始走淘汰策略
maxmemory 100mb
# 配置策略 默认:noeviction
maxmemory-policy allkeys-lru

七、总结

这些配置项都是可以在Redis的配置文件中根据名称搜索到,如果配置文件中没有也会被设置一个默认值,可以登录Redis通过CONFIG GET 配置名来查看配置内容,比如我们注释掉bind配置,通过CONFIG GET bind查看到的就是bind配置的默认值"".

在这里插入图片描述

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

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

相关文章

微信小程序之会议OA首页数据交互,会议状态,会议人数转换,会议室交互,WXS的使用

前言: 本篇博客使用结合了SpringMVC,mybatis,maven,小程序,如果不熟悉使用可以翻看我之前的博客,以便大家可以更好的学习!!! 一,会议OA首页数据的后台交互 这…

18、监测数据采集物联网应用开发步骤(12.3)

阶段性源码下载 监测数据采集物联网应用开发步骤(12.2) 前端web UI开发 demo 核心代码文件: web/index.html web/index.js web/js/common.js web/init.dlls Web/init.js 程序运行之后在浏览器敲入如下内容访问数据接口: http://localhost:9000…

五大经典智能算法实现机器人路径规划,包含简单路径与复杂路径,详细对比实验...

声明:对于作者的原创代码,禁止转售倒卖,违者必究! 本期文章采用五大经典的智能优化算法,对机器人路径进行规划。 五大经典算法分别是:粒子群算法(PSO),遗传算法(GA),差分进化算法(DE…

马赫数相关函数

1 函数 k是常数&#xff0c;Ma是变量 2应用程序 点击上方资源下载 3 计算 3.1 c语言 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h>#define k 1.4 // k为常数// 定义的函数 double T(double Ma) {return pow((1 (k - 1) / 2 * Ma …

npm或pnpm终端执行失败问题

问题描述&#xff1a; npm或pnpm终端执行失败问题&#xff1a;有时候在编译器中通过包管理工具进行某些命令操作时&#xff0c;会提示如下报错 pnpm : 无法加载文件 E:\1AllLearnSource\nvm\node\pnpm.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;…

使用imx 8m 测试matter协议功能

参考网址&#xff1a; https://github.com/nxp-imx/meta-matter 请使用Ubuntu-20.04。18.04python版本太老 注意repo会出现此报错&#xff0c;可以无视&#xff1a; git checkout imx_matter_2023_q3 这一步在这个目录下操作 项目交流、学习、开发&#xff0c;欢迎私信。

【大数据】Kafka 数据存储

Kafka 数据存储 1.文件目录2.日志分段3.日志索引3.1 偏移量索引3.2 时间戳索引 4.日志清理4.1 日志删除4.1.1 基于时间4.1.2 基于日志大小4.1.3 基于日志起始偏移量 4.2 日志压缩 1.文件目录 Kafka 中的消息是存储在磁盘上的&#xff0c;一个分区副本对应一个 日志&#xff08…

2019年亚太杯APMCM数学建模大赛A题基于图像分析的二氧化硅熔化表示模型求解全过程文档及程序

2019年亚太杯APMCM数学建模大赛 A题 基于图像分析的二氧化硅熔化表示模型 原题再现 铁尾矿的主要成分是二氧化硅&#xff0c;而二氧化硅是铁尾矿成分中最难熔化的部分。因此&#xff0c;铁尾矿的熔融行为可以用二氧化硅的熔融行为来表示。然而&#xff0c;高温熔池的温度超过…

AIO开放接口平台免费畅享ChatGPT聊天、联网互动、学术等服务!更有DALL·E 3最强AI绘图功能!

免费畅享&#xff01; AIO平台ChatGPT联网、聊天、学术等服务&#xff01; AIO开放接口平台 | 服务介绍 ALL IN ONE &#xff08;AIO&#xff09;API服务是LLM(大语言模型)开放接口平台&#xff1a;持续接入各种主流的大模型接口&#xff0c;并提供简单、易用、统一的API交互…

开源网安受邀参加数字安全高峰论坛,为数字经济发展保驾护航

​10月19日&#xff0c;“提升数字安全技术&#xff0c;护航数字经济发展”高峰论坛在常州创意产业园圆满完成。本次论坛由常州国家高新区管委会、常州市工业和信息化局、常州市大数据管理中心主办&#xff0c;聚焦“数据安全”主题&#xff0c;邀请了超百位专家及企业代表共同…

WordPress SMTP邮件发送插件 Easy WP SMTP

Easy WP SMTP是一款 WordPress 邮件发送插件&#xff0c;WordPress 中经常用到邮件发送&#xff0c;包括新注册用户的邮件通知、找回密码通知、评论回复通知等。因为云服务器默认不启用 SMTP功能&#xff0c;所以需要安装 SMTP插件来解决这个问题。 SMTP 主机&#xff1a;smtp.…

斜率优化dp

f i min ⁡ ( a j − j i ) f_i\min(a_j - j \times i) fi​min(aj​−ji) 考虑变成点对 ( j , a j ) (j,a_j) (j,aj​)&#xff0c;则 f i Y j − X j i f_iY_j-X_ji fi​Yj​−Xj​i 令 i k , f i b ik, f_ib ik,fi​b&#xff0c;得 b Y j − X j k bY_j-X_jk b…

关于OpenMesh与OpenGL

文章目录 OpenMesh官网OpenMesh是什么&#xff1f;他能做什么&#xff1f;直接无源码安装测试报错&#xff1a;效果: 学习openmesh学习openmesh的流程如下&#xff1a;第一步&#xff0c;了解openmesh库的基本概念第二步&#xff0c;查看openmesh的官方示例&#xff0c;了解简单…

【java】【MyBatisPlus】【二】MyBatisPlus常规使用

目录 一、简述 1、概述 2、特性 3、支持数据库 二、标准数据层开发 1、标准数据层CRUD功能 1.1 新增insert 1.2 删除功能deleteById 1.3 修改功能updateById 1.4 查询单个selectById 1.5 查询全部selectList 2、分页功能 2.1 设置MybatisPlus分页拦截器作为Spring管…

LSTM-Attention单维时间序列预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Redis基本命令和常用数据类型

文章目录 前言一、Redis简介二、基本操作1.赋值2.取值3.切换数据库4.查看数据库所有键&#xff08;key&#xff09;5.查看键值类型6.移动键值到其他数据库7.设置键值生存时间&#xff08;两种&#xff09;8.查看键值生存时间9.查看当前数据库大小10.判断键是否存在11.清空当前数…

IntelliJ IDEA 2020.2.1白票安装使用方法

先安装好idear Plugins 内手动添加第三方插件仓库地址&#xff1a;https://plugins.zhile.io 搜索&#xff1a;IDE Eval Reset插件进行安装 输入https://plugins.zhile.io 手动安装离线插件方法 安装包可以去笔者的CSDN资源库下载 安装mybaties插件

Simulink模型加密共享

1.前言 为了保护知识产权&#xff0c;有时候需要让用户能使用slx模型运行仿真&#xff0c;但是无法查看和修改模型和子系统的结构&#xff0c;这时可以用Simulink coder来生成受保护的模型。主要步骤如下&#xff1a; &#xff08;1&#xff09;将slx模型的各个子系统唯一命名…

Nginx负载均衡反向代理动静分离

文章目录 nginx负载均衡&反向代理&动静分离环境说明部署动静分离1.主机lnmp部署一个动态页面&#xff0c;在此以discuz论坛系统为例2.主机n1部署两个静态页面访问动、静态页面 配置负载均衡配置反向代理访问测试 nginx负载均衡&反向代理&动静分离 环境 主机名…

重测序基因组:Pi核酸多样性计算

如何计算核酸多样性 Pi 本期笔记分享关于核酸多样性pi计算的方法和相关技巧&#xff0c;主要包括原始数据整理、分组文件设置、计算原理、操作流程、可视化绘图等步骤。 基因组Pi核酸多样性&#xff08;Pi nucleic acid diversity&#xff09;是一种遗传学研究中用来描述种群内…