服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Redis - Redis配置文件redis.conf详细配置说明

Redis配置文件redis.conf详细配置说明

2019-11-11 14:54wdc Redis

本文列出了Redis的配置文件redis.conf的各配置项的详细说明,简单易懂

redis.conf 配置项说明如下

redis配置文件详解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# vi redis.conf
 
daemonize yes #是否以后台进程运行
 
pidfile /var/run/redis/redis-server.pid  #pid文件位置
 
port 6379#监听端口
 
bind 127.0.0.1  #绑定地址,如外网需要连接,设置0.0.0.0
 
timeout 300   #连接超时时间,单位秒
 
loglevel notice #日志级别,分别有:
 
# debug :适用于开发和测试
 
# verbose :更详细信息
 
# notice :适用于生产环境
 
# warning :只记录警告或错误信息
 
logfile /var/log/redis/redis-server.log  #日志文件位置
 
syslog-enabled no  #是否将日志输出到系统日志
 
databases 16#设置数据库数量,默认数据库为0
 
 
 
############### 快照方式 ###############
 
 
 
save 900 1  #在900s(15m)之后,至少有1个key发生变化,则快照
 
save 300 10  #在300s(5m)之后,至少有10个key发生变化,则快照
 
save 60 10000 #在60s(1m)之后,至少有1000个key发生变化,则快照
 
rdbcompression yes  #dump时是否压缩数据
 
dir /var/lib/redis  #数据库(dump.rdb)文件存放目录
 
 
 
############### 主从复制 ###############
 
 
 
slaveof <masterip> <masterport> #主从复制使用,用于本机redis作为slave去连接主redis
 
masterauth <master-password>  #当master设置密码认证,slave用此选项指定master认证密码
 
slave-serve-stale-data yes   #当slave与master之间的连接断开或slave正在与master进行数据同步时,如果有slave请求,当设置为yes时,slave仍然响应请求,此时可能有问题,如果设置no时,slave会返回"SYNC with master in progress"错误信息。但INFO和SLAVEOF命令除外。
 
 
 
############### 安全 ###############
 
 
 
requirepass foobared  #配置redis连接认证密码
 
 
 
############### 限制 ###############
 
 
 
maxclients 128#设置最大连接数,0为不限制
 
maxmemory <bytes>#内存清理策略,如果达到此值,将采取以下动作:
 
# volatile-lru :默认策略,只对设置过期时间的key进行LRU算法删除
 
# allkeys-lru :删除不经常使用的key
 
# volatile-random :随机删除即将过期的key
 
# allkeys-random :随机删除一个key
 
# volatile-ttl :删除即将过期的key
 
# noeviction :不过期,写操作返回报错
 
maxmemory-policy volatile-lru#如果达到maxmemory值,采用此策略
 
maxmemory-samples 3  #默认随机选择3个key,从中淘汰最不经常用的
 
 
 
############### 附加模式 ###############
 
 
 
appendonly no  #AOF持久化,是否记录更新操作日志,默认redis是异步(快照)把数据写入本地磁盘
 
appendfilename appendonly.aof #指定更新日志文件名
 
# AOF持久化三种同步策略:
 
# appendfsync always  #每次有数据发生变化时都会写入appendonly.aof
 
# appendfsync everysec #默认方式,每秒同步一次到appendonly.aof
 
# appendfsync no    #不同步,数据不会持久化
 
no-appendfsync-on-rewrite no  #当AOF日志文件即将增长到指定百分比时,redis通过调用BGREWRITEAOF是否自动重写AOF日志文件。
 
 
 
############### 虚拟内存 ###############
 
 
 
vm-enabled no   #是否启用虚拟内存机制,虚拟内存机将数据分页存放,把很少访问的页放到swap上,内存占用多,最好关闭虚拟内存
 
vm-swap-file /var/lib/redis/redis.swap  #虚拟内存文件位置
 
vm-max-memory 0  #redis使用的最大内存上限,保护redis不会因过多使用物理内存影响性能
 
vm-page-size 32  #每个页面的大小为32字节
 
vm-pages 134217728 #设置swap文件中页面数量
 
vm-max-threads 4  #访问swap文件的线程数
 
 
 
############### 高级配置 ###############
 
 
 
hash-max-zipmap-entries 512  #哈希表中元素(条目)总个数不超过设定数量时,采用线性紧凑格式存储来节省空间
 
hash-max-zipmap-value 64   #哈希表中每个value的长度不超过多少字节时,采用线性紧凑格式存储来节省空间
 
list-max-ziplist-entries 512 #list数据类型多少节点以下会采用去指针的紧凑存储格式
 
list-max-ziplist-value 64  #list数据类型节点值大小小于多少字节会采用紧凑存储格式
 
set-max-intset-entries 512  #set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储
 
activerehashing yes    #是否激活重置哈希

总结:

1、redis提供几种持久化机制

 a). RDB持久化

 工作方式 :根据时间的间隔将redis中数据快照(dump)到dump.rdb文件

 优势 :备份恢复简单。RDB通过子进程完成持久化工作,相对比AOF启动效率高

 劣势 :服务器故障会丢失几分钟内的数据

 b). AOF持久化

 工作方式 :以日志的形式记录所有更新操作到AOF日志文件,在redis服务重新启动时会读取该日志文 件来重新构建数据库,以保证启动后数据完整性。

 优势 :AOF提供两种同步机制,一个是fsync always每次有数据变化就同步到日志文件和fsync everysec每秒同步一次到日志文件,最大限度保证数据完整性。

 劣势:日志文件相对RDB快照文件要大的多

AOF日志重写功能

AOF日志文件过大,redis会自动重写AOF日志,append模式不断的将更新记录写入到老日志文件中,同时redis还会创建一个新的日志文件用于追加后续的记录。

 c). 同时应用AOF和RDB

 对于数据安全性高的场景,可同时使用AOF和RDB,这样会降低性能。

 d). 无持久化

 禁用redis服务持久化功能。

2、AOF日志文件出错后,修复方法

redis-check-aof --fix appendonly.aof  #--fix参数为修复日志文件,不加则对日志检查

3、不重启redis从RDB持久化切换到AOF持久化

?
1
2
redis-cli> CONFIG SET appendonly yes   #启用AOF
redis-cli> CONFIG SET save ""     #关闭RDB

redis配置文件详解列出了redis基础配置项都是比较常用的,使用redis一定要了解这些配置项

延伸 · 阅读

精彩推荐
  • Redis聊一聊Redis与MySQL双写一致性如何保证

    聊一聊Redis与MySQL双写一致性如何保证

    一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。本文给大家分享Redis与MySQL双写一致性该如何保证,感兴趣的朋友一...

    mind_programmonkey6432021-08-12
  • Redisredis启动,停止,及端口占用处理方法

    redis启动,停止,及端口占用处理方法

    今天小编就为大家分享一篇redis启动,停止,及端口占用处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    澄海单挑狂5152019-11-14
  • RedisRedis存取序列化与反序列化性能问题详解

    Redis存取序列化与反序列化性能问题详解

    这篇文章主要给大家介绍了关于Redis存取序列化与反序列化性能问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    这名字已经存在9742021-02-24
  • RedisRedis数据结构之链表与字典的使用

    Redis数据结构之链表与字典的使用

    这篇文章主要介绍了Redis数据结构之链表与字典的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    白泽来了4052021-08-03
  • Redis就这?Redis持久化策略——AOF

    就这?Redis持久化策略——AOF

    今天为大家介绍Redis的另一种持久化策略——AOF。注意:AOF文件只会记录Redis的写操作命令,因为读命令对数据的恢复没有任何意义...

    头发茂密的刘叔4052021-12-14
  • RedisLinux Redis 的安装步骤详解

    Linux Redis 的安装步骤详解

    这篇文章主要介绍了 Linux Redis 的安装步骤详解的相关资料,希望大家通过本文能掌握如何安装Redis,需要的朋友可以参考下 ...

    carl-zhao3822019-11-08
  • Redis在ssm项目中使用redis缓存查询数据的方法

    在ssm项目中使用redis缓存查询数据的方法

    本文主要简单的使用Java代码进行redis缓存,即在查询的时候先在service层从redis缓存中获取数据。如果大家对在ssm项目中使用redis缓存查询数据的相关知识感...

    caychen8962019-11-12
  • RedisRedis分布式锁升级版RedLock及SpringBoot实现方法

    Redis分布式锁升级版RedLock及SpringBoot实现方法

    这篇文章主要介绍了Redis分布式锁升级版RedLock及SpringBoot实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以...

    等不到的口琴7802021-07-25