2021-10-08---redis配置文件:redis.conf

redis配置文件:redis.conf

  • 了解redis的配置文件作用
    • 概括
      • 配置内容
  • 了解redis安全相关内容
  • 掌握redis为什么设计成单线程
    • 单线程模式的优点
    • 单线程缺点
    • redis设计者
  • 掌握redis淘汰机制

了解redis的配置文件作用

概括

对于redis的一些特性和属性,能够通过对配置文件的修改实现加载配置文件后启动我们需要的服务端进程

配置内容

75行:bing绑定,服务器中为了能在网络中被他人访问到,具有网卡和ip地址,一个远程服务器,可以具备多个ip地址,云主机可以访问的ip只有一个10.*
如果你将bind配置使用#注释掉,相当于不设置限制,只要客户端能够联通服务端ip都可以用来访问redis,通过绑定多个ip实现多个ip同时使用

了解redis安全相关内容

94行:protected-mode:为使用安全考虑的一个配置参数,保护模式,默认值是yes开启保护模式,在保护模式开启的情况下,不允许不安全的访问,我们这里测试会修改成no,需要配合bind,还有操作密码,可以达到redis使用的一个安全性。

redis服务端密码设置,可以通过配置
requirepass的值,设置操作redis密码,一旦设置了密码,客户端client登录到redis想要执行任何命令度必须提供这个密码
连接如redis时,可以通过

config set requirepass 123456
config get requirepass
redis-cli -p -h 登录之后
auth 密码才能操作redis

jedis对象连接redis
在构建jedis时提供一个属性password
jedis.auth(“123456”)
在集群时,最好所有的节点的密码都一致

  • 98:端口号配置
  • redis的集群结构,都是多台服务器,每台服务器上都运行多个redis节点,保证每台服务器被redis使用的高校,原因为每个redis是单进程的,单进程模式,一个服务器运行多个redis节点能够有效的使用该服务器资源。

掌握redis为什么设计成单线程

单线程模式的优点

无需考虑cpu在资源之间切换消耗
无需考虑线程锁,线程安全(高并发,写操作,共享资源,多线程)问题

单线程缺点

相比于多线程,并发能力,上限不足

redis设计者

redis内存运行机制,速度快,并发支持很好,redis的并发上限不取决于redis服务端本本身,而是取决于网络带宽,使得redis的吞吐量(单位时间内处理的数据量)限制在网络传输
单线程足以应对,没必要为了线程并发上限使用多线程模式
单线程的redis为什么并发如此恐怖(高并发中IO多路复用)

  • 244行:
    开启关闭后台运行,使用Redis-server脚本默认配置启动6379时,占用控制台输出日志的,原因daemonize后台守护的值是no没有开启后台运行,看日志需要配置日志文件

  • 292行:
    开启后台守护,需要配置日志的输出文件
  • 371
    配置吃加护save命令的频率,配置方式满足趋势,数据变化越频繁,save调用的时间间隔越短
    save 900 1
    save 300 10
    每900秒数据变化至少1次,调用save
    每300秒,数据变化至少10次,调用save
    实际上底层redis会根据你的配置去做定时任务
  • 444
    dir主要是用来存放save保存的持久化文件的目录,默认在redis家目录中
  • 421
    在上一个属性的目录中,用来保存当前redis进程的持久化文件名称
  • 467
    从节点挂接的主节点有密码,在从节点配置这个密码(主从复制)
  • 1363
    redis中最终的高可用分布式结构就是集群,必须开启集群模式,当前节点才能加入redis-cluster中使用(redis-cluster)

掌握redis淘汰机制

数据库中有2000万条数据,redis只能最多存储200万条数据,没有办法把数据库全部存储到redis中,如何保证redis中存储的200万条数据时热点数据(频繁访问)
redis存在淘汰机制,当我们redis设置了占用内存上限值(10G),到达上限值时如何处理超额的数据就是淘汰机制

  • 970
    设置redis内存占用的最大上限
  • 984
    当达到内存设置上限,如何处理超出的数据



答案:保留热点数据的方式
选择一个淘汰的数据上限
提供一个淘汰的策略
LRU还是LFU中选择一个
到底是永久数据+超时数据还是只计算超时数据取决于数据库环境

2021-10-08---redis配置文件:redis.conf

redis配置文件:redis.conf

  • 了解redis的配置文件作用
    • 概括
      • 配置内容
  • 了解redis安全相关内容
  • 掌握redis为什么设计成单线程
    • 单线程模式的优点
    • 单线程缺点
    • redis设计者
  • 掌握redis淘汰机制

了解redis的配置文件作用

概括

对于redis的一些特性和属性,能够通过对配置文件的修改实现加载配置文件后启动我们需要的服务端进程

配置内容

75行:bing绑定,服务器中为了能在网络中被他人访问到,具有网卡和ip地址,一个远程服务器,可以具备多个ip地址,云主机可以访问的ip只有一个10.*
如果你将bind配置使用#注释掉,相当于不设置限制,只要客户端能够联通服务端ip都可以用来访问redis,通过绑定多个ip实现多个ip同时使用

了解redis安全相关内容

94行:protected-mode:为使用安全考虑的一个配置参数,保护模式,默认值是yes开启保护模式,在保护模式开启的情况下,不允许不安全的访问,我们这里测试会修改成no,需要配合bind,还有操作密码,可以达到redis使用的一个安全性。

redis服务端密码设置,可以通过配置
requirepass的值,设置操作redis密码,一旦设置了密码,客户端client登录到redis想要执行任何命令度必须提供这个密码
连接如redis时,可以通过

config set requirepass 123456
config get requirepass
redis-cli -p -h 登录之后
auth 密码才能操作redis

jedis对象连接redis
在构建jedis时提供一个属性password
jedis.auth(“123456”)
在集群时,最好所有的节点的密码都一致

  • 98:端口号配置
  • redis的集群结构,都是多台服务器,每台服务器上都运行多个redis节点,保证每台服务器被redis使用的高校,原因为每个redis是单进程的,单进程模式,一个服务器运行多个redis节点能够有效的使用该服务器资源。

掌握redis为什么设计成单线程

单线程模式的优点

无需考虑cpu在资源之间切换消耗
无需考虑线程锁,线程安全(高并发,写操作,共享资源,多线程)问题

单线程缺点

相比于多线程,并发能力,上限不足

redis设计者

redis内存运行机制,速度快,并发支持很好,redis的并发上限不取决于redis服务端本本身,而是取决于网络带宽,使得redis的吞吐量(单位时间内处理的数据量)限制在网络传输
单线程足以应对,没必要为了线程并发上限使用多线程模式
单线程的redis为什么并发如此恐怖(高并发中IO多路复用)

  • 244行:
    开启关闭后台运行,使用Redis-server脚本默认配置启动6379时,占用控制台输出日志的,原因daemonize后台守护的值是no没有开启后台运行,看日志需要配置日志文件

  • 292行:
    开启后台守护,需要配置日志的输出文件
  • 371
    配置吃加护save命令的频率,配置方式满足趋势,数据变化越频繁,save调用的时间间隔越短
    save 900 1
    save 300 10
    每900秒数据变化至少1次,调用save
    每300秒,数据变化至少10次,调用save
    实际上底层redis会根据你的配置去做定时任务
  • 444
    dir主要是用来存放save保存的持久化文件的目录,默认在redis家目录中
  • 421
    在上一个属性的目录中,用来保存当前redis进程的持久化文件名称
  • 467
    从节点挂接的主节点有密码,在从节点配置这个密码(主从复制)
  • 1363
    redis中最终的高可用分布式结构就是集群,必须开启集群模式,当前节点才能加入redis-cluster中使用(redis-cluster)

掌握redis淘汰机制

数据库中有2000万条数据,redis只能最多存储200万条数据,没有办法把数据库全部存储到redis中,如何保证redis中存储的200万条数据时热点数据(频繁访问)
redis存在淘汰机制,当我们redis设置了占用内存上限值(10G),到达上限值时如何处理超额的数据就是淘汰机制

  • 970
    设置redis内存占用的最大上限
  • 984
    当达到内存设置上限,如何处理超出的数据



答案:保留热点数据的方式
选择一个淘汰的数据上限
提供一个淘汰的策略
LRU还是LFU中选择一个
到底是永久数据+超时数据还是只计算超时数据取决于数据库环境