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

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一定要了解这些配置项

延伸 · 阅读

精彩推荐
  • RedisRedis如何实现数据库读写分离详解

    Redis如何实现数据库读写分离详解

    Redis的主从架构,能帮助我们实现读多,写少的情况,下面这篇文章主要给大家介绍了关于Redis如何实现数据库读写分离的相关资料,文中通过示例代码介绍...

    罗兵漂流记6092019-11-11
  • RedisRedis全量复制与部分复制示例详解

    Redis全量复制与部分复制示例详解

    这篇文章主要给大家介绍了关于Redis全量复制与部分复制的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis爬虫具有一定的参考学习...

    豆子先生5052019-11-27
  • Redisredis 交集、并集、差集的具体使用

    redis 交集、并集、差集的具体使用

    这篇文章主要介绍了redis 交集、并集、差集的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redis详解Redis复制原理

    详解Redis复制原理

    与大多数db一样,Redis也提供了复制机制,以满足故障恢复和负载均衡等需求。复制也是Redis高可用的基础,哨兵和集群都是建立在复制基础上实现高可用的...

    李留广10222021-08-09
  • RedisRedis的配置、启动、操作和关闭方法

    Redis的配置、启动、操作和关闭方法

    今天小编就为大家分享一篇Redis的配置、启动、操作和关闭方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    大道化简5312019-11-14
  • Redisredis中如何使用lua脚本让你的灵活性提高5个逼格详解

    redis中如何使用lua脚本让你的灵活性提高5个逼格详解

    这篇文章主要给大家介绍了关于redis中如何使用lua脚本让你的灵活性提高5个逼格的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具...

    一线码农5812019-11-18
  • Redisredis实现排行榜功能

    redis实现排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用来实现排行榜功能,本文就来简单的介绍一下如何使用,具有一定的参考价值,感兴趣的小伙伴们...

    乘月归5022021-08-05
  • RedisRedis 事务知识点相关总结

    Redis 事务知识点相关总结

    这篇文章主要介绍了Redis 事务相关总结,帮助大家更好的理解和学习使用Redis,感兴趣的朋友可以了解下...

    AsiaYe8232021-07-28