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

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数据库入门详细介绍

    关于Redis数据库入门详细介绍

    大家好,本篇文章主要讲的是关于Redis数据库入门详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览...

    沃尔码6982022-01-24
  • RedisRedis集群的5种使用方式,各自优缺点分析

    Redis集群的5种使用方式,各自优缺点分析

    Redis 多副本,采用主从(replication)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策略。...

    优知学院4082021-08-10
  • Redis《面试八股文》之 Redis十六卷

    《面试八股文》之 Redis十六卷

    redis 作为我们最常用的内存数据库,很多地方你都能够发现它的身影,比如说登录信息的存储,分布式锁的使用,其经常被我们当做缓存去使用。...

    moon聊技术8182021-07-26
  • Redis如何使用Redis锁处理并发问题详解

    如何使用Redis锁处理并发问题详解

    这篇文章主要给大家介绍了关于如何使用Redis锁处理并发问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis具有一定的参考学习...

    haofly4522019-11-26
  • RedisRedis 6.X Cluster 集群搭建

    Redis 6.X Cluster 集群搭建

    码哥带大家完成在 CentOS 7 中安装 Redis 6.x 教程。在学习 Redis Cluster 集群之前,我们需要先搭建一套集群环境。机器有限,实现目标是一台机器上搭建 6 个节...

    码哥字节15752021-04-07
  • RedisRedis Template实现分布式锁的实例代码

    Redis Template实现分布式锁的实例代码

    这篇文章主要介绍了Redis Template实现分布式锁,需要的朋友可以参考下 ...

    晴天小哥哥2592019-11-18
  • Redisredis缓存存储Session原理机制

    redis缓存存储Session原理机制

    这篇文章主要为大家介绍了redis缓存存储Session原理机制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    程序媛张小妍9252021-11-25
  • Redis详解三分钟快速搭建分布式高可用的Redis集群

    详解三分钟快速搭建分布式高可用的Redis集群

    这篇文章主要介绍了详解三分钟快速搭建分布式高可用的Redis集群,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    万猫学社4502021-07-25