数据库
首页 > 数据库> > Redis.conf详解

Redis.conf详解

作者:互联网

Redis.conf详解

单位

image

包含

image

网络

bind 127.0.0.1   #绑定的IP
protected-mode no  #是否受保护  远程访问需要关闭保护
port 6379 #端口设置

通用 GENERAL

daemonize no  #以守护进程的方式运行默认no, 我们需要自己开启yes

pidfile /var/run/redis_6379.pid   #如果以后台的方式运行 就需要有一个pid的文件


#日志
# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably) 生产环境
# warning (only very important / critical messages are logged)
loglevel notice

logfile "" #日志文件的位置
databases 16 #数据库的数量
always-show-logo no #是否显示logo,默认开启


快照

持久化,在规定时间内执行多少次操作,则会持久化到文件 .aof,.rdb

redis是内存数据库,如果没有持久化操作,那么数据会断电即失的

#在3600秒内,如果有一个key进行了修改那么就进行持久化操作	
save 3600 1
#在300秒内,如果有100个key进行了修改那么就进行持久化操作	
save 300 100
#在60秒内,如果有10000个key进行了修改那么就进行持久化操作	
save 60 10000

stop-writes-on-bgsave-error yes #持久化出现了错误是否继续工作

rdbcompression yes # 是否压缩rdb文件,需要消耗CPU资源

rdbchecksum yes # 保存rdb文件的时候进行错误校验

dir ./ # 持久化rdb文件保存的目录

REPLICATION 复制

SECURITY 安全

可以设置redis的密码

127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379> config get requirepass # 获取配置文件的密码
1) "requirepass"
2) "123123"
127.0.0.1:6379> config set requirepass "123456" # 设置Redis的密码 临时
OK

CLIENTS 限制

maxclients 10000 #最大连接数 10000
maxmemory <bytes> #最大内存数
maxmemory-policy noeviction # 内存达到上限后的处理策略
	1)noeviction: 不删除,直接返回报错信息。
    2)allkeys-lru:移除最久未使用(使用频率最少)使用的key。推荐使用这种。
    3)volatile-lru:在设置了过期时间的key中,移除最久未使用的key。
    4)allkeys-random:随机移除某个key。
    5)volatile-random:在设置了过期时间的key中,随机移除某个key。
    6)volatile-ttl: 在设置了过期时间的key中,移除准备过期的key。
    7)allkeys-lfu:移除最近最少使用的key。
    8)volatile-lfu:在设置了过期时间的key中,移除最近最少使用的key

LRU和LFU的区别:
LRU是最近最少使用页面置换算法(Least Recently Used),也就是首先淘汰最长时间未被使用的页面!

比如有数据 1,1,1,2,2,3
此时缓存中已有(1,2)
当3加入的时候,得把前面的1淘汰,变成(3,2)

LFU是最近最不常用页面置换算法(Least Frequently Used),也就是淘汰一定时期内被访问次数最少的页!

比如有数据 1,1,1,2,2,3
缓存中有(1(3次),2(2次))
当3加入的时候,得把后面的2淘汰,变成(1(3次),3(1次))

引申:

假如我的key没有设置expire,即没有设置过期时间。那么 volatile-lru、volatile-random、volatile-ttl 就无法执行了,和 noeviction 就一样了。

APPEND ONLY 模式 aof配置

appendonly yes #默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分情况下,rdb方式够用了
appendfilename "appendonly.aof" # 持久化文件的名字

# appendfsync always # 每次修改都会 sync 速度比较慢
appendfsync everysec  # 每秒都同步一次 sync,但是会丢失这一秒的数据
# appendfsync no  # 不执行sync 这时候操作系统自己同步数据,速度比较快

标签:持久,conf,rdb,Redis,详解,volatile,key,移除,yes
来源: https://www.cnblogs.com/echo-7s/p/16441677.html