redis配置详解(九)---限制配置

我们可以设置Redis同时可以与多少个客户端进行连接。默认情况下为10000个客户端。当无法设置进程文件句柄限制时,Redis会设置为当前的文件句柄限制值减去32,因为Redis会为自身内部处理逻辑留一些句柄出来。

    如果达到了此限制,Redis则会拒绝新的连接请求,并且向这些连接请求方发出“max number of clients reached”以作回应。

  • maxclients 10000

    我们甚至可以设置Redis可以使用的内存量。一旦到达内存使用上限,Redis将会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。

    如果Redis无法根据移除规则来移除内存中的数据,或者我们设置了“不允许移除”,那么Redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。但是对于无内存申请的指令,仍然会正常响应,比如GET等。

  • maxmemory <bytes>

    需要注意的一点是,如果Redis是主Redis(说明Redis有从Redis),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在设置的是“不移除”的情况下,才不用考虑这个因素。

对于内存移除规则来说,Redis提供了多达6种的移除规则。他们是:

    (1)volatile-lru:使用LRU算法移除过期集合中的key

    (2)allkeys-lru:使用LRU算法移除key

    (3)volatile-random:在过期集合中移除随机的key

    (4)allkeys-random:移除随机的key

    (5)volatile-ttl:移除那些TTL值最小的key,即那些最近才过期的key。

    (6)noeviction:不进行移除。针对写操作,只是返回错误信息。

    无论使用上述哪一种移除规则,如果没有合适的key可以移除的话,Redis都会针对写请求返回错误信息。

  • maxmemory-policy volatile-lru

    LRU算法和最小TTL算法都并非是精确的算法,而是估算值。所以可以设置样本的大小。假如Redis默认会检查三个key并选择其中LRU的那个,那么可以改变这个key样本的数量。

  • maxmemory-samples 3

转载于:https://my.oschina.net/u/3296302/blog/848885

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值