Redis内存满了的几种解决方法(内存淘汰策略与Redis集群)

Redis内存满了的几种解决方法(内存淘汰策略与Redis集群)

1,增加内存;

2,使用内存淘汰策略。

3,Redis集群。

 

重点介绍下23;

第2点:

我们知道,redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节)。

那么当所需内存,超过maxmemory怎么办?

这个时候就该配置文件中的maxmemory-policy出场了。

其默认值是noeviction。

下面我将列出当可用内存不足时,删除redis键具有的淘汰规则。

 

Redis内存满了的几种解决方法(内存淘汰策略与Redis集群)

 

LRU算法least RecentlyUsed,最近最少使用算法。也就是说默认删除最近最少使用的键。

但是一定要注意一点!redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取3个键,删除这三个键中最近最少使用的键。

那么3这个数字也是可以设置的,对应位置是配置文件中的maxmeory-samples.

 第3点:

3.集群怎么做

Redis仅支持单实例,内存一般最多10~20GB。对于内存动辄100~200GB的系统,就需要通过集群来支持了。

Redis集群有三种方式:客户端分片、代理分片、RedisCluster(在之后一篇文章详细说一下。)

·        客户端分片

通过业务代码自己实现路由

优势:可以自己控制分片算法、性能比代理的好

劣势:维护成本高、扩容/缩容等运维操作都需要自己研发

·        代理分片

代理程序接收到来自业务程序的数据请求,根据路由规则,将这些请求分发给正确的Redis实例并返回给业务程序。使用类似Twemproxy、Codis等中间件实现。

优势:运维方便、程序不用关心如何链接Redis实例

劣势:会带来性能消耗(大概20%)、无法平滑扩容/缩容,需要执行脚本迁移数据,不方便(Codis在Twemproxy基础上优化并实现了预分片来达到Auto Rebalance)。

·        Redis Cluster

优势:官方集群解决方案、无中心节点,和客户端直连,性能较好

劣势:方案太重、无法平滑扩容/缩容,需要执行相应的脚本,不方便、太新,没有相应成熟的解决案例
———————

原文:https://blog.csdn.net/u014590757/article/details/79788076

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112333.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 开发者一定要了解的六款大数据采集平台

    开发者一定要了解的六款大数据采集平台    随着大数据越来越被重视,数据采集的挑战变的尤为突出。今天为大家介绍几款数据采集平台:  ApacheFlume  Fluentd  Logstash  Chukwa  Scribe  SplunkForwarder  大数据平台与数据采集  任何完整的大数据平台,一般包括以下的几个过程:  数据采集  数据存储  数据处理  数据展现…

    2022年5月1日
    102
  • 制作整人计算机病毒,bat整人电脑病毒代码是怎样的.docx[通俗易懂]

    制作整人计算机病毒,bat整人电脑病毒代码是怎样的.docx[通俗易懂]2019年bat整人电脑病毒代码是怎样的篇一:一些bat恶搞代码?第一个:让别人内存OVER(逼他重启)?@echooff?startcmd?%0?就这3行了?第二个:让对方重启指定次数(害人专用)?@echooff?ifnotexistc:\1.txtecho.>c:\1.txt&gotoerr1?ifnotexistc:\2.txtecho.>c:\2.txt&go…

    2022年7月14日
    19
  • java通过JDBC连接数据库及增删改查操作

    java通过JDBC连接数据库及增删改查操作1.实战数据库数据的准备  创建数据库(newsmanager),然后创建表news(id,title,content,type)和newstype(id,name),其中news的type和newstype的id为主外键关系,如下图图 2.JDBC的介绍   1)一种执行SQL语言的JavaAPI   2)可以对所以主流数据库进行统一访问(access,

    2022年7月13日
    19
  • MATLAB绘制B样条曲线[通俗易懂]

    MATLAB绘制B样条曲线[通俗易懂]1B样条曲线1.1B样条曲线定义B样条方法具有表示与设计自由型曲线曲面的强大功能,是形状数学描述的主流方法之一,另外B样条方法是目前工业产品几何定义国际标准——有理B样条方法(NURBS)的基础。B样条方法兼备了Bezier方法的一切优点,包括几何不变性,仿射不变性等等,同时克服了Bezier方法中由于整体表示带来不具有局部性质的缺点(移动一个控制顶点将会影响整个曲线)。B样条曲线方程可写为

    2022年6月18日
    123
  • dataTable自定义搜索框位置

    dataTable自定义搜索框位置其实不能叫自定义位置dataTable的搜索框请参阅dataTabledom:http://www.datatables.club/reference/option/dom.html我的需求是将dataTable默认位置的搜索框移动到我的form表单中的搜索位置如图:因为自己不会写前端却要写前端幸得群里大神指点在页面写样式覆盖原来的样式在这里记录一下解决办法…

    2022年7月13日
    21
  • PID控制电机转速

    PID控制电机转速转一个PID控制电机的小程序,被PID困扰好多天了,知道它的原理但是一直不明白如何将它运用到电机调速中间去,看了这个程序之后感觉茅塞顿开。原来也并不难^-^转载地址:呃,刚刚不小心把网页关掉了(大写的尴尬)。。。。#include#include#defineucharunsignedchar #defineuintunsignedint#define

    2022年6月1日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号