IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis 目录与配置说明 -> 正文阅读

[大数据]Redis 目录与配置说明


Redis 文件目录结构


windows,例如D:\Soft\Redis-x64-3.2.100

linux?服务中 /home/redis/redis-3.0.6/src

?

其中主要文件和作用为

  • redis-server ? ? :Redis服务器
  • redis-cli ? ?:Redis命令行客户端
  • redis-benchemark ? ?:Redis性能测试工具
  • redis-check-aof ? ?:AOF文件修复工具
  • redis-check-dump ? ?:RDB文件检测工具
  • redis.conf : linux 版本中的redis配置文件
  • redis.windows.conf? :? windows版本中redis配置文件


Redis配置文件


参数?说明
include

可以将公共的配置放入到一个公共的配置文件中,然后通过子配置文件引入父配置

例如

include .\path\to\local.conf
include c:\path\to\other.conf

bind

默认未配置接受任何地址的访问 ,如果配如果只允许本机应用链接,可以配置 bind 127.0.0.1 ,参数只能绑定1个地址,也可以配置多个IP, 生产环境下写自己应用服务器的IP

例如:

bind 192.168.1.100 10.0.0.1
bind 127.0.0.1?

port监听的端口号 默认 port ?6379
timeout请求超时时间 ,即客户端空闲N秒后关闭连接 。 默认 timeout = 0 ,0表示禁用
tcp-keepalive对客户端的新桃检测间隔时间
protected-mode保护模式,默认配置开启
loglevel

定义日志级别

debug:会记录大量日志使用于研发测试

verbose:会记录较多的日志

notice: 适当的日志,比较适用生产环境

warning:少量,只记录重要,关键的日志

logfile????????日志记录的路径,默认为空,即标准输出
syslog-enable是否启动事件将日志记录到系统日志
syslog-indent系统中的日志事件的事件源 ,可以设置为redis
databases开启数据库的数量? 默认 databases 16 ,其中0为第一个数据库, 可以通过select N选择其他数据库?
save * *

保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。?

例如:

save 900 1????

save 300 10???

save 60 10000

分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。

rdbcompression?转储时使用LZF压缩字符串对象,默认为是?rdbcompression??yes
dbfilename

转储时数据库快照文件名(只是文件名,不包括目录)

默认 dbfilename dump.rdb

dir

数据快照的保存目录(这个是目录)?? ? 默认 dir ./

注意:这里是指定目录而不是文件名

slaveof?

主从同步。通过 slaveof 配置来实现Redis实例的备份。这里是本地从远端复制数据

格式:slaveof <masterip> <masterport>

masterauth?主从同步。?如果master设置了密码(通过"requirepass" 选项来配置),那么slave在开始同步之前必须进行身份验证,否则它的同步请求会被拒绝
?slave-serve-stale-data

?当一个slave失去和master的连接,或者同步正在进行中,slave的行为有两种可能:
1) 如果 slave-serve-stale-data 设置为 "yes" (默认值),slave会继续响应客户端请求,可能是正常数据,也可能是还没获得值的空数据。
2) 如果 slave-serve-stale-data 设置为 "no",slave会回复"正在从master同步(SYNC with master in progress)"来处理各种请求,除了 INFO 和 SLAVEOF 命令

默认为?slave-serve-stale-data yes

repl-ping-slave-period

主从同步。 slave根据指定的时间间隔向服务器发送ping请求。时间间隔可以通过 repl_ping_slave_period 来设置。单位秒

默认值:repl-ping-slave-period 10

repl-timeout

设置了大块数据I/O、向master请求数据和ping响应的过期时间,单位秒

默认值:repl-timeout 60

注意:确保这个值比 repl-ping-slave-period 大,否则master和slave之间的传输过期时间比预想的要短

requirepassRedis设置数据库密码 ,默认为未配置,因为Redis太快了建议复杂一些
rename-command CONFIG

将CONFIG重命名,一般建议修改成一个特别复杂的

例如:rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

也可以设置为空串来禁用这条命令

例如:rename-command CONFIG ""

maxclients

设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。

注意:当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息

maxmemory?<bytes>

告诉日redis当使用了多少物理内存后就开始拒绝后续的写入请求 默认 未配置

maxmemory-policy

指定策略来删除不需要的键,直到Redis占用的内存小于指定的内存

例如:?maxmemory-policy?volatile-lru

1-volatile-lru ?使用LRU(最少使用)算法删除1个键(只对设置了生存时间的键)

2-allkeys-lru ?使用LRU(最少使用)算法删除一个键

3-volatile-random 随机删除一个键 (只对设置了生存时间的键)

4-allkeys-radom 随机删除一个键 ?//不断删除直到占用内存小于限制值 , 随机取maxmemory-samples配置的N个键,然后删除最久未被使用的键

5-volatile-ttl 删除生存时间最近的一个键

6-noeviction 根本不过期不删除键,只返回错误

默认的配置为 noeviction

maxmemory-samples?

LRU和最小TTL算法不是精确算法,而是近似算法,默认情况下,Redis将检查5个关键点,并选择一个最少使用的点,可以使用本参数修改样本个数

例如:maxmemory-samples 5

appendonly

是否开启累加模式,默认配置为不开启,appendonly no

默认情况下,Redis是异步的把数据导出到磁盘上,这种情况下,当Redis挂掉的时候,最新的数据就丢失,如果不希望丢掉任何一条数据的话就该用纯累加模式,

一旦开启这个模式,Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件。每次启动时Redis都会把这个文件的数据读入内存里,这会提高数据抗风险能力,但影响效率,默认不开启

appendfilename?纯累加文件名字,默认配置为?appendfilename "appendonly.aof"
appendfsync

fsync() 方法调用告诉操作系统马上把数据写到磁盘上,一些操作系统会马上做一些操作系统只会尽快尝试去做

Redis支持三种不同的模式

no:不要立刻刷,只有在操作系统需要刷的时候再刷。比较快

always:每次写操作都立刻写入到aof文件。慢点,最安全

everysec:每秒写一次,这是一种妥协的方式

默认值为“everysec”,因为这通常见的在速度和安全上的折中方法

no-appendfsync-on-rewrite no

?如果AOF的同步策略设置成 "always" 或者 "everysec",那么后台的存储进程(后台存储或写入AOF日志)会产生很多磁盘I/O开销。某些Linux的配置下会使Redis因为 fsync() 而阻塞很久。为了缓解这个问题,可以用下面这个选项。它可以在 BGSAVE 或 BGREWRITEAOF 处理时阻止 fsync()。
?如果你有延迟的问题那就把这个设为 "yes",否则就保持 "no",这是保存持久数据的最安全的方式

默认: no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

自动重写AOF文件
如果AOF日志文件大到指定百分比,Redis能够通过 BGREWRITEAOF 自动重写AOF日志文件。


工作原理:Redis记住上次重写时AOF日志的大小(或者重启后没有写操作的话,那就直接用此时的AOF文件),
?基准尺寸和当前尺寸做比较。如果当前尺寸超过指定比例,就会触发重写操作。

你还需要指定被重写日志的最小尺寸,这样避免了达到约定百分比但尺寸仍然很小的情况还要重写。
如果你指定百分比为0会禁用AOF自动重写特性。

aof-load-truncated

在Redis过程中,可能会发现AOF文件在末尾被截断,启动过程,当AOF数据加载回内存时。这可能发生在Redis运行的系统中崩溃

如果aof load truncated设置为yes,则会加载并删除一个被截断的aof文件

默认配置:aof-load-truncated yes

lua-time-limit

Lua脚本的最大执行时间(毫秒)?

默认配置:lua-time-limit 5000? ?

为了防止某个脚本执行时间过长导致Redis 无法提供服务, Redis 提供了lua-time-limit 参数限制脚本的最长运行时间,将其设置为0或负值,以便在没有警告的情况下无限执行

cluster-enabled

是否启用集群配置,设置为yes为启动

例如:cluster-enabled yes

cluster-config-file

每个群集节点都有一个群集配置文件

例如:?cluster-config-file nodes-6379.conf

cluster-node-timeout

集群节点超时时间,单位毫秒

例如:cluster-node-timeout 15000

cluster-slave-validity-factor

节点有效性系数

例如:cluster-slave-validity-factor 10

在进行故障转移的时候,全部slave都会请求申请为master,但是有些slave可能与master断开连接一段时间了,导致数据过于陈旧,这样的slave不应该被提升为master。该参数就是用来判断slave节点与master断线的时间是否过长。

判断公式:(node-timeout * slave-validity-factor) + repl-ping-slave-period?

例如:

节点超时时间:cluster-node-timeout 配置为30秒

当前系数配置:cluster-slave-validity-factor配置为10

从服务器ping间隔配置:repl-ping-slave-period配置为10秒

当无法与主设备对话,过30*10+10=310秒后从设备将不会尝试故障切换

cluster-migration-barrier?master的slave数量大于该值,slave才能迁移到其他孤立master上,如这个参数若被设为2,那么只有当一
个主节点拥有2 个可工作的从节点时,它的一个从节点会尝试迁移
slowlog-log-slower-than 10000

执行时间参数 单位是微秒

slog log是用来记录redis运行中执行比较慢的命令耗时。当命令的执行超过参数了指定时间,就记录在slow log中,slog log保存在内存中,所以没有IO操作

slowlog-max-len

可以通过SLOWLOG RESET回收慢速日志使用的内存。

注意:这个长度没有限制。它会消耗内存。

默认配置:slowlog-max-len 128

?

前一篇:Redis 安装教程?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:08:39  更:2022-04-01 00:08:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:48:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码