Redis只作为缓存,不做持久化的配置
#1.配置缓存内存限制和清理策略 #作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置: #example: # 限定最多使用1.5GB内存 maxmemory 1536mb #如果内存到达了指定的上限,还要往redis里面添加更多的缓存内容,需要设置清理内容的策略: #默认为0,没有指定最大缓存,如果有新的数据添加,超过最大内存,则会使redis崩溃,所以一点要设置。 #设置maxmemory之后,配合的要设置缓存数据回收策略。 # 设置策略为清理最少使用的key对应的数据 maxmemory-policy allkeys-lru #下面为redis官网上的几种清理策略: #volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 #volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰 #volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰 #allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰 #allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰 #no-enviction(驱逐):禁止驱逐数据 #redis回收算法,实际不是严谨的LRU算法,而是抽样回收数据,这样算是为了减少消耗内存使用,但是抽样回收的缓存和全部数据回收缓存差异非常小,或者根本就没有。 #先预测好系统所需要的内存高峰,部署相对应内存的缓存服务器。 #设置maxmemory和相对应的回收策略算法,设置最好为物理内存的3/4,或者比例更小,因为redis复制数据等其他服务时,也是需要缓存的。 #以防缓存数据过大致使redis崩溃,造成系统出错不可用。牺牲一部分缓存数据,保存整体系统可用性。 #如果数据是 幂律分布 也就是某些数据访问频率比较高 则适合allkeys-lru #如果数据是 平等分布 也就是访问频率比较平均 则适合allkeys-random #配对的配置: maxmemory-samples 3 #默认值3,上面LRU和最小TTL策略并非严谨的策略,而是大约估算的方式,因此可以选择取样值以便检查 #2.我的需求是只把redis当作缓存来用,所以持久化到硬盘对我的需求来说没有意义。配置 save "" #3.增加ip绑定(可选) redis 不够安全,# bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 #指定Redis 只接收来自于该IP 地址的请求,如果不进行设置,那么将处理所有请求,系统默认是注释掉的,不开启。在生产环境中为了安全最好设置该项。 4.maxclients 10000 #限制同时连接的客户数量。当连接数超过这个值时,redis 将不再接收其他连接请求,客户端尝试连接时将收到error 信息。默认为10000,要考虑系统文件描述符限制,不宜过大,浪费文件描述符,具体多少根据具体情况而定 #5.当一个redis支撑不了的时候再考虑Master-Slave模式