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 SETCONFIG GET以编程方式查询当前配置。

请注意,动态修改配置对redis.conf文件没有影响,因此下次重新启动Redis时,将使用旧配置。

要使CONFIG SET的配置修改永久生效,您可以手动修改redis.conf配置文件,也可以使用CONFIG REWRITE,它将自动扫描您的redis.conf文件并更新与当前配置值不匹配的字段。不添加不存在但设置为默认值的字段,配置文件中的注释将被保留。

配置文件详解

redis.conf配置文件:https://raw.githubusercontent.com/antirez/redis/7.2/redis.conf

下面整理一些比较重要的配置项:

配置项配置项值范围说明
daemonizeyes/noyes表示启用守护进程,默认是no即不以守护进程方式运行。
port指定Redis监听端口,默认端口为6379。
bind绑定的主机地址。如果需要设置远程访问则可以直接将这个配置项注释或者修改为bind *,这个配置项和下面的protected-mode控制了是否可以远程访问。
protected-modeyes/no保护模式。该模式控制了外网是否可以连接Redis服务。默认是Redis,即外网无法访问。如需外网连接Redis服务需要将此配置项修改为no。
logleveldebug/verbose/notice/warning日志级别,默认为notice
databases16设置数据库的数量,默认的数据库是DB 0,可以通过SELECT <dbid>选择数据库,dbid从0到databases-1。
rdbcompressionyes/no指定存储到本地数据库时是否压缩,默认为yes。Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该配置项,但会导致数据库文件变得巨大。
dbfilenamedump.rdb指定本地数据库文件名,默认为dump.rdb
dir指定本地数据库存放目录
requirepass设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH命令提供密码,默认关闭
maxclients0设置同一时间最大客户端连接数,默认无限制,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指定
timeout0当客户端闲置多长秒后关闭连接,默认为为0 ,表示关闭该功能。
save [ ]Redis默认提供如下配置:
save 3600 1:3600秒(1小时)内有一个更改
save 300 100:300秒(5分钟)内有100个更改
save 60 10000:60秒(1分钟)内有10000个更改
指定在多长时间内,有多少次更新操作,就将数据保存到数据文件,可以多个条件配合使用。
appendonlyyes/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

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

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

相关文章

低代码平台,业务开发的“银弹”

目录 一、为什么需要低代码平台 二、低代码平台的搭建能力 三、低代码其他能力 四、写在最后 随着互联网和信息技术的快速发展&#xff0c;各行各业都在积极拥抱数字化转型。在这个过程中&#xff0c;软件开发成为企业实现数字化转型的关键环节。然而&#xff0c;传统的软件开发…

C语言 每日一题 PTA 11.8 day14

1.矩阵A乘以B 给定两个矩阵A和B&#xff0c;要求你计算它们的乘积矩阵AB。需要注意的是&#xff0c;只有规模匹配的矩阵才可以相乘。 即若A有Ra​行、Ca列&#xff0c;B有Rb行、Cb列&#xff0c;则只有Ca与Rb​相等时&#xff0c;两个矩阵才能相乘。 输入格式&#xff1a; 输入…

【Java】IntelliJ IDEA使用JDBC连接MySQL数据库并写入数据

目录 0 准备工作1 创建Java项目2 添加JDBC 驱动程序3 创建数据库连接配置文件4 创建一个 Java 类来连接和操作数据库5 运行应用程序 在 IntelliJ IDEA 中连接 MySQL 数据库并将数据存储在数据表中&#xff0c;使用 Java 和 JDBC&#xff08;Java Database Connectivity&#xf…

Python 中 Selenium 的屏幕截图

文章目录 使用 save_screenshot() 函数在 Python 中使用 selenium 捕获屏幕截图使用 get_screenshot_as_file() 函数在 Python 中使用 selenium 捕获屏幕截图使用 Screenshot-Selenium 包在 Python 中使用 selenium 捕获屏幕截图总结我们可以使用 Selenium 在自动化 Web 浏览器…

Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图,Kotlin(5)

Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图&#xff0c;Kotlin&#xff08;5&#xff09; import android.content.ClipData import android.graphics.Canvas import android.graphics.Point import android.os.Bundle import android.util.Log import android.view.…

Echarts柱状体实现滚动条动态滚动

当我们柱状图中X轴数据太多的时候&#xff0c;会自动把柱形的宽度挤的很细&#xff0c;带来的交互非常不好&#xff0c;因此就有一个属性来解决&#xff1a;dataZoom 第一种简易的版本&#xff0c;横向滚动。 dataZoom: {show: true, // 为true 滚动条出现realtime: true, // 实…

含免费次数的API接口资源分享

全国招投标查询&#xff1a;查询招标保标信息&#xff0c;涵盖招标信息查询、中标信息查询、VIP项目、拟在建项目、业主委托项目、PPP项目、项目来源、历史招标库、政府采集信息、招标定制、订阅推送、订阅导出、数据下载等数十个招投标领域。AI绘画-Mid Journey&#xff1a;使…

hdlbits系列verilog解答(反转向量位序)-40

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 给定一个 100 位输入向量 [99:0],反转其位顺序。 Module Declaration module top_module( input [99:0] in, output [99:0] out ); 二、verilog源码 module top_module( input [99:0] in,output [99:0

Leetcode 299. Bulls and Cows

Problem You are playing the Bulls and Cows game with your friend. You write down a secret number and ask your friend to guess what the number is. When your friend makes a guess, you provide a hint with the following info: The number of “bulls”, which …

RabbitMQ集群配置以及负载均衡配置

RabbitMQ集群配置以及负载均衡配置 环境配置集群配置安装rabbitmq启动rabbitmq开启远程登录添加用户并且授权用户添加数据存放目录和日志存放目录查看端口拷⻉erlang.cookie将mq-2、mq-3作为内存节点加⼊mq-1节点集群中查看集群状态添加一个新的队列 RabbitMq负载均衡配置-HAPr…

【ChatGLM2-6B】小白入门及Docker下部署

【ChatGLM2-6B】小白入门及Docker下部署 一、简介1、ChatGLM2是什么2、组成部分3、相关地址 二、基于Docker安装部署1、前提2、CentOS7安装NVIDIA显卡驱动1&#xff09;查看服务器版本及显卡信息2&#xff09;相关依赖安装3&#xff09;显卡驱动安装 2、 CentOS7安装NVIDIA-Doc…

常用SQL——IF介绍

在SQL中&#xff0c;IF语句用于根据条件执行不同的操作。下面是一个简单的教程&#xff0c;介绍如何在不同的数据库中使用IF语句。 1. MySQL中的IF语句&#xff1a; sql IF(condition, true_value, false_value) 在MySQL中&#xff0c;IF函数接受一个条件表达式&#xff0c…

自主开发刷题应用网站H5源码(无需后端无需数据库)

该应用使用JSON作为题库的存储方式&#xff0c;层次清晰、结构简单易懂。 配套的word模板和模板到JSON转换工具可供使用&#xff0c;方便将题库从word格式转换为JSON格式。 四种刷题模式包括顺序刷题、乱序刷题、错题模式和背题模式&#xff0c;可以根据自己的需求选择适合的模…

计网----累积应答,TCP的流量控制--滑动窗口,粘包问题,心跳机制,Nagle算法,拥塞控制,TCP协议总结,UDP和TCP对比,中介者模式

计网----累积应答&#xff0c;TCP的流量控制–滑动窗口&#xff0c;粘包问题&#xff0c;心跳机制&#xff0c;Nagle算法&#xff0c;拥塞控制&#xff0c;TCP协议总结&#xff0c;UDP和TCP对比&#xff0c;中介者模式 一.累积应答 1.什么是累计应答 每次发一些包&#xff0…

Leetcode刷题详解—— 组合总和

1. 题目链接&#xff1a;39. 组合总和 2. 题目描述&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些…

Pytorch实战教程(十一)-卷积神经网络

0. 前言 卷积神经网络 (Convolutional Neural Network, CNN) 是一种非常强大的深度学习模型,广泛应用于图像分析、目标检测、图像生成等任务中。CNN 的核心思想是卷积操作和参数共享,卷积操作通过滑动滤波器(也称为卷积核)在输入数据上进行元素级的乘积和求和运算,从而提取…

uniapp蓝牙搜索设备并列表展示

1.需求&#xff1a;3.0的桩可以值扫码通过蓝牙名字直接绑定&#xff0c;2.0的桩二维码无蓝牙名称则需通过蓝牙列表来绑定 2.碰到问题 1.0 蓝牙列表需要去重&#xff08;蓝牙列表通过deviceId去重再放进展示列表&#xff09; 2.0页面会卡顿&#xff08;调用my.stopBluetoothDevi…

docker部署mongodb

1&#xff1a;拉去momgodb镜像 2&#xff1a;拉去成功后&#xff0c;通过docker-compose.yml配置文件启动mongodb&#xff0c;docker-compose.yml配置如下 version: 3.8 services:mongodb-1:container_name: mongodbimage: mongo ports:- "27017:27017"volumes:- G:…

Python Selenium元素定位方法详解

引言 在Web自动化测试中&#xff0c;元素定位是一项非常重要的技术。Python Selenium提供了各种元素定位方法&#xff0c;可以帮助我们定位页面上的元素并与之交互。本文将详细介绍Python Selenium中常用的元素定位方法&#xff0c;并提供实例代码。 1. ID定位 ID是元素在HT…

java入门,记一次微服务间feigin请求的问题

一、前言 记录工作中遇到的开发问题&#xff0c;而不是写博客凑字数。 二、微服务调用 1、通过本服务调用另外一个服务&#xff0c;需要定义一个接口&#xff0c;并用FeignClient 注解进行注解 value "服务名" 要调用的服务名 服务得到路径&#xff0c;对应的是c…