Redis进阶

文章目录

    • 阅读Redis.conf
    • Redis持久化
    • Redis发布订阅
    • Redis主从复制
    • Redis缓存穿透和雪崩

阅读Redis.conf

  • redis启动的时候,就通过配置文件Redis.conf来启动!
  • 配置文件 unit单位对大小写不敏感!
  • 可以包含其他的配置文件
  • 网络
bind 127.0.0.1    # 绑定的ip
protected-mode yes# 保护模式
port 6379# 端口设置
  • 通用 GENERAL
daemonize yes# 以守护进程的方式运行,默认是 no,我们需要自己开启为yes!
pidfile /var/run/redis_6379.pid  # 如果以后台的方式运行,我们就需要指定一个 pid 文件!

loglevel noticelogfile ""	# 日志的文件位置名
databases 16				# 数据库的数量,默认是 16 个数据库
always-show-logo yes		# 是否总是显示LOGO
  • 快照
  1. 持久化,在规定的时间内,执行了多少次操作,则会持久化到文件 .rdb. aof
  2. redis 是内存数据库,如果没有持久化,那么数据断电及失!
# 如果900s内,如果至少有一个1 key进行了修改,我们及进行持久化操作
save 900 1
# 如果300s内,如果至少10 key进行了修改,我们及进行持久化操作
save 300 10
# 如果60s内,如果至少10000 key进行了修改,我们及进行持久化操作
save 60 10000
# 我们之后学习持久化,会自己定义这个测试!

stop-writes-on-bgsave-error yes # 持久化如果出错,是否还需要继续工作!

rdbcompression yes              # 是否压缩 rdb 文件,需要消耗一些cpu资源!

rdbchecksum yes                 # 保存rdb文件的时候,进行错误的检查校验!
dir ./                          # rdb 文件保存的目录!
  • SECURITY 安全
    可以在这里设置redis的密码,默认是没有密码!
config get requirepass          # 获取redis的密码
config set requirepass "123456" # 设置redis的密码
config get requirepass          # 发现所有的命令都没有权限了
auth 123456                     # 使用密码进行登录
  • 限制 CLIENTS
maxclients 10000# 设置能连接上redis的最大客户端的数量

maxmemory <bytes>  # redis 配置最大的内存容量

maxmemory-policy noeviction  # 内存到达上限之后的处理策略
	1volatile-lru:只对设置了过期时间的key进行LRU(默认值)
	2、allkeys-lru :删除lru算法的key  
	3volatile-random:随机删除即将过期key  
	4、allkeys-random:随机删除
	5volatile-ttl :删除即将过期的
  • 限制APPEND ONLY 模式 aof配置
appendonly no    # 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用!
appendfilename "appendonly.aof"# 持久化的文件的名字
# appendfsync always   # 每次修改都会 sync。消耗性能
appendfsync everysec   # 每秒执行一次 sync,可能会丢失这1s的数据!
# appendfsync no       # 不执行 sync,这个时候操作系统自己同步数据,速度最快!

Redis持久化

Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能!

  • RDB(Redis DataBase)在主从复制中,rdb就是备用的,它在从机上面。

Redis发布订阅

Redis主从复制

Redis缓存穿透和雪崩

你可能感兴趣的:(Redis进阶)