redis配置文件详解(redis主从库配置)

本文目录
- redis主从库配置
- linux上怎么配置redis的aof持久化
- Redis使用——Redis的redis.conf配置注释详解(三)
- redis 集群时jedis该怎么配置
- redis日志配置
- redis.conf详解之bind
redis主从库配置
建立1个主库 2个从库
1、拷贝两个主库的配置文件(redis.windows.conf),自定义连个名字,写入如下配置,或者直接创建两个.conf文件,写入如下配置
2、使用redis-server xxxx.conf依次使用主从库配置文件启动redis即可
linux上怎么配置redis的aof持久化
Redis 持久化和配置文件
Reids 持久化
Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。
RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。
AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。
其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。
如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。
redis配置文件
daemonize no # 默认情况下,redis并不是以daemon形式来运行的。通过daemonize配置项可以控制redis的运行形式
pidfile /path/to/redis.pid #当以daemon形式运行时,redis会生成一个pid文件,默认会生成在/var/run/redis.pid
bind 192.168.1.2 10.8.4.2 # 指定绑定的ip,可以有多个
port 6379 #指定监听端口
unixsocket /tmp/redis.sock #也可以监听socket
unixsocketperm 755 #当监听socket时可以指定权限为755
timeout 0 #当一个redis-client一直没有请求发向server端,那么server端有权主动关闭这个连接,可以通过timeout来设置“空闲超时时限”,0表示永不关闭。
Redis通用配置
tcp-keepalive0 #TCP连接保活策略,可以通过tcp-keepalive配置项来进行设置,单位为秒,假如设置为60秒,则server端会每60秒向连接空闲的客户端发起一次ACK请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接。如果设置为0,则不会进行保活检测。
loglevelnotice #日志级别,有四种debug, verbose, notice, warning
logfile“” #定义日志路径,
syslog-identredis #如果希望日志打印到syslog中,通过syslog-enabled来控制。另外,syslog-ident还可以让你指定syslog里的日志标志。
syslog-facility local0 #指定syslog的设备,可以是USER或者local0-local7
databases 16 #设置数据库的总数量
Redis快照配置(rdb持久化)
save 900 1 #表示每15分钟且至少有1个key改变,就触发一次持久化
save 300 10 #表示每5分钟且至少有10个key改变,就触发一次持久化
save 60 10000 #表示每60秒至少有10000个key改变,就触发一次持久
save “” #这样可以禁用rdb持久化
stop-writes-on-bgsave-error yes #rdb持久化写入磁盘避免不了会出现失败的情况,默认一旦出现失败,redis会马上停止写操作。如果你觉得无所谓,那就可以使用该选项关闭这个功能。
rdbcompressionyes #是否要压缩
rdbchecksumyes #是否进行数据校验
dbfilenamedump.rdb #定义快照文件的名字
dir ./ #定义快照文件储存路劲
Redis安全相关配置
requirepassaminglinux
#设置redis-server的密码
rename-command CONFIG aminglinux.config
#将CONFIG命令更名为aminglinux.config,这样可以避免误操作,但如果使用了AOF持久化,建议不要启用该功能
rename-command CONFIG “”
#也可以后面定义为空,这样就禁掉了该CONFIG命令
Redis限制相关配置
maxclients10000 #限制最大客户端连接数
maxmemory《bytes》 #设定最大内存使用数,单位是byte
maxmemory-policy volatile-lru#指定内存移除规则
maxmemory-samples 3 #LRU算法和最小TTL算法都并非是精确的算法,而是估算值。所以你可以设置样本的大小。假如redis默认会检查三个key并选择其中LRU的那个,那么你可以改变这个key样本的数量。
Redis AOF持久化相关配置
appendonlyno #如果是no,则开启aof持久化
appendfilename“appendonly.aof” #指定aof文件名字
appendfsynceverysec#指定fsync()调用模式,有三种no(不调用fsync),always(每次写都会调用fsync),everysec(每秒钟调用一次fsync)。第一种最快,第二种数据最安全,但性能会差一些,第三种为这种方案,默认为第三种。
no-appendfsync-on-rewrite no #使用no,可以避免当写入量非常大时的磁盘io阻塞
auto-aof-rewrite-percentage 10 #规定什么情况下会触发aof重写。该值为一个比例,10表示当aof文件增幅达到10%时则会触发重写机制。
auto-aof-rewrite-min-size 64mb #重写会有一个条件,就是不能低于64Mb
Redis 慢日志相关配置
针对慢日志,你可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日志队列中被移除。
Redis使用——Redis的redis.conf配置注释详解(三)
日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。
本节对于其Redis的redis.conf配置进行注释翻译,确定各个配置的主要用途,便于日后配置使用,由于redis.conf中的配置较多,因此我们拆分为四节进行,话不多说下面开始。
更多内容详见 Redis使用——Redis的redis.conf配置注释详解(四)
redis 集群时jedis该怎么配置
简单说一下,除了一些公司自主开发的集群外。常用的一般有三种:
使用redis-trib.rb,这个是安装redis时就自带的一种集群,采用了服务端分片的方式。Jedis使用JedisCluster类来访问。
使用Jedis带的客户端分片ShardedJedisPool类。
使用代理进行分片twemproxy,连接代理可以使用Jedis类(单链接)和JedisPool类(多链接)。
下面提供一个JedisCluster的例子:
JedisCluster cluster;
public void init() {
// 加载redis配置文件
ResourceBundle bundle = ResourceBundle.getBundle("redis");
if (bundle == null) {
throw new IllegalArgumentException(" is not found!");
}
// 创建jedis池配置实例
JedisPoolConfig config = new JedisPoolConfig();
// 设置池配置项值
config.setMaxTotal(Integer.valueOf(bundle.getString("redis.pool.maxActive").trim()));
config.setMaxIdle(Integer.valueOf(bundle.getString("redis.pool.maxIdle").trim()));
config.setMaxWaitMillis(Long.valueOf(bundle.getString("redis.pool.maxWait").trim()));
config.setTestOnBorrow(Boolean.valueOf(bundle.getString("redis.pool.testOnBorrow").trim()));
config.setTestOnReturn(Boolean.valueOf(bundle.getString("redis.pool.testOnReturn").trim()));
Set《HostAndPort》 hps = new HashSet《HostAndPort》();
hps.add(new HostAndPort("192.168.242.133", 4001));
hps.add(new HostAndPort("192.168.242.133", 4002));
hps.add(new HostAndPort("192.168.242.133", 4003));
hps.add(new HostAndPort("192.168.242.133", 4004));
cluster = new JedisCluster(hps, 2000, 5);
}
public void test() {
// 这里就可以使用cluster进行各种redis的操作了(与Jedis类的接口类似)
cluster.set("key", "value");
}
如果要了解其它的,请留言给我。
redis日志配置
redis默认日志为在控制台打印
可以在redis.config当中找到 logfile 为 “” 及为打印到控制台 启动时即可看到对应日志打印到控制台上
现在想要将日志打印到文件中可以修改 此配置文件
修改为 logfile "/usr/redis/log/redis.log"
在redis目录下新建一个log文件夹再建一个redis.log文件
重启项目发现启动日志已经从控制台转到日志文件中了。
redis日志分为4个级别
Redis4默认的设置为notice,开发测试阶段可以用debug(日志内容较多一般不建议使用),生产模式一般选用notice
1. debug:会打印出很多信息,适用于开发和测试阶段
2. verbose(冗长的):包含很多不太有用的信息,但比debug要清爽一些
3. notice:适用于生产模式
4. warning : 警告信息
redis.conf详解之bind
bind 用于绑定本机的网络接口(网卡),redis只接受来自绑定网络接口的请求。
比如本机有两个网卡分别对应ip 1.1.1.1 , 2.2.2.2 ,配置 bind 1.1.1.1 ,客户端 288.30.3.3 访问 2.2.2.2 将无法连接redis。
如果不配置 bind , redis 将监听本机所有可用的网络接口。
不配置指: redis.conf 中无 bind 配置、 #bind 127.0.0.1 。
- 当指定的网络接口不可用且其他网络接口可用时,不会启动失败。
当 17.0.0.1 为 无 效ip,127.0.0.1为 有 效ip。以下配置以及 log 输出。

更多文章:
form表单制作(为什么制作的form表单会在网页显示中多出一行)
2026年10月11日 09:10
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50


