1.概述
对于redis的一些特性和属性,能够通过对配置文件的修改,实现加载配置文件后启动我们需要的服务端进程
2.redis.conf 配置内容
61行:bind绑定,服务器中为了能在网络中被他人访问到,具有网卡和ip地址.一个远程服务器,可以具备多个ip地址
如果,你将bind配置使用#注释掉,相当于不设置限制,只要客户端能够连通服务端的ip都可以用来访问redis.通过绑定多个ip实现多个ip同时使用
80行:protected-mode.为使用安全考虑的一个配置参数,保护模式,默认值是yes开启保护模式,在保护模式开启的情况下,不允许不安全的访问.我们这里为了测试方便修改成no,需要配合bind,还有操作密码,可以达到redis使用的一个安全性
redis服务端密码设置,可以通过配置
requirepass的值,设置操作redis的密码.一旦设置了密码,客户端client登录到redis想要执行任何命令,都必须提供这个密码
redis-cli -h -p 登录
auth 密码才能操作redis
jedis对象连接redis
在构建jedis时提供一个属性password
jedis.auth("123456")
在集群时,最好所有节点的密码都一致.
84行:端口号配置
redis的集群结构,都是多台服务器,每台服务器上都运行多个redis节点,保证每台服务器被redis使用的高效.原因为每个redis进程都是单线程
127行:开启关闭后台运行,使用redis-server脚本默认配置启动6379时占用控制台输出日志的,原因daemonize 后台守护的值是no 没有开启.后台运行,看日志就需要配置日志文件
163行:开启后台守护,需要配置日志的输出文件
202行:配置持久化save命令的频率.配置方式,满足趋势 数据变化越频繁,save调用的时间间隔越短.
237行/247行:默认持久化方式rdb文件有关,save命令调用所有数据输出到这个文件
dbfilename:文件名称
dir:文件生成的目录
265行:将当前设置成从节点启动,需要指定对应的主节点.
273行:从节点挂接的主节点有密码,在从节点配置这个密码
540行:
redis存储容量是mysql的十分之一.如何保证redis中绝大多数的数据缓存都是热点数据.?
- volatile-lru -> remove the key with an expire set using an LRU algorithm
- allkeys-lru -> remove any key according to the LRU algorithm
- volatile-random -> remove a random key with an expire set
- allkeys-random -> remove a random key, any key
- volatile-ttl -> remove the key with the nearest expire time (minor TTL)
- noeviction -> don't expire at all, just return an error on write operations
redis运行时占用内存处理数据,redis默认占用所有物理内存,也可以通过设置最大内存上限,限制redis占用. 到达内存上限后,redis如何处理后续数据,要通过配置redis的 数据淘汰策略来处理.
noeviction : 到达上限抛异常
allkeys: 所有数据范围
lru: 最近最少使用算法
random: 上限后,随机取样,随机删除
volatile: 只针对设置了超时的数据采用淘汰策略
lru:最近最少使用算法
random: 随机取样,随机删除
ttl: 取样,从选择最接近超时时间的数据
lru:使用这个算法,保证访问越频繁,淘汰的可能性就低(热点数据特点)
721行:redis中最终的高可用分布式结构就是集群,必须开启集群模式,当前节点才能加入redis-cluster中使用