文章目录
简介
Redis在启动的时候是通过配置文件Redis.conf进行启动的,那么我们了解Redis.conf文件对我们之后对于Redis的操作就非常有帮助,下面我们就来看看这个配置文件都有一些什么东西。
首先我们进入这个目录,找到这个配置文件开启编辑模式进行查看,我这边使用的是阿里巴巴的服务器:
1.units(单位)
进入编辑模式之后,我们翻到这个文件的最上面,我们翻译这段英文发现Redis配置文件中的单位对大小写不敏感。
2.include(包含)
我们继续往下面翻发现可以包含多个文件,其实就是我们的Java中import包一样的,导入一些包在文件中。
3.network(网络)
bind 127.0.0.1 -::1
表示Redis启动时开放的端口默认与本机绑定
protected-mode yes
是否开启保护模式,Redis默认开启,如果没有设置bind的IP地址和Redis密码,那么服务就会默认只能在本机运行
port 6379
Redis指定监听端口,默认为6379
timeout 300
表示服务器闲置多长时间(秒)后被关闭,如果这个这个数值为0,表示这个功能不起作用
4.general(通用配置)
daemonize yes
是否以守护进程的方式运行,即后台运行,一般默认为no,需要手动改为yes
pidfile /var/run/redis_6379.pid
如果以守护进程的方式运行,就需要指定一个pid文件,在Redis启动时创建,退出时删除
loglevel notice
配置日志等级,日志等级的可选项如下:
debug:打印的信息较多,在工作中主要用于开发和测试
verbose:打印的信息仅次于debug,但是格式较为工整
notice:Redis默认配置,在生产环境中使用
warning:只打印一些重要信息,比如警告和错误
logfile " "
打印的日志文件名称,如果为空,表示标准输出,在配置守护进程的模式下会将输出信息保存到/dev/null
databases 16
数据库支持数量,16个
5.snapshotting(快照)
如果在规定的时间内,数据发生了几次更新,那么就会将数据同步备份到一个文件中
Redis的持久化有两种方式,一种是RDB,一种是AOF。SNAPSHOTTING主要针对的是Redis持久化中的RDB
Redis是一个内存数据库,如果不采用持久化对数据进行保存,那么就会出现断电即失的尴尬场面
# 在3600秒内,至少有1个key被修改(添加),就会进行持久化操作
save 3600 1
# 在300秒内,至少有100个key被修改,就会进行持久化操作
save 300 100
# 在60秒内,至少有1万个key被修改,就会进行持久化操作
save 60 10000
top-writes-on-bgsave-error yes
如果Redis在进行持久化的时候出现错误,是否停止写入,默认为是
rdbcompression yes
是否在进行数据备份时压缩持久化文件,默认为是,这个操作会耗费CPU资源,可以设置为no
rdbchecksum yes
在保存持久化文件的同时,对文件内容进行数据校验
dir ./
持久化文件保存的目录,默认保存在当前目录下
6.replication(复制)
replicaof <masterip> <masterport>
复制主机上的数据,当前配置所指定的IP和端口号即为主机
Redis在配置文件中将此配置注释,默认不使用,下同
masterauth <master-password>
如果配置的主机有密码,需要配置此密码以通过master的验证
7.secrulity(安全)
可以在配置文件中设置Redis的登录密码
8.client(客户端)
maxclients 10000
Redis允许存在的客户端的最大数量,默认有一万个
maxmemory <bytes>
Redis配置最大的内存容量
maxmemory-policy noeviction
内存达到上限之后默认的处理策略
处理策略有以下几种
noeviction:默认策略,不淘汰,如果内存已满,添加数据是报错。
allkeys-lru:在所有键中,选取最近最少使用的数据抛弃。
volatile-lru:在设置了过期时间的所有键中,选取最近最少使用的数据抛弃。
allkeys-random: 在所有键中,随机抛弃。
volatile-random: 在设置了过期时间的所有键,随机抛弃。
volatile-ttl:在设置了过期时间的所有键,抛弃存活时间最短的数据
9.append only mode(aof配置)
appendonly no
这是Redis持久化的另一种方式,AOF,AOF模式默认不开启,Redis默认开启的是持久化模式是RDB,在大部分情况下,RDB的模式完全够用
appendfilename "appendonly.aof"
AOF持久化的文件名称
appendfsync
appendfsync always
表示每次修改都会进行数据同步,速度较慢,消耗性能
appendfsync no
不执行同步,不消耗性能,这时候操作系统自己同步数据,速度最快
appendfsync everysec
数据不同步,每秒记录一次,每秒执行一次同步,但是可能会丢失这一秒的数据