首页 > 数据库 >Redis概念

Redis概念

时间:2023-08-06 17:47:55浏览次数:34  
标签:hash twemproxy Redis 回收 概念 数据 节点

1.数据淘汰策略

-noeviction:返回错误当内存限制达到并且客户端尝试执行会让更多内存被使用的命令(大部分的写入指令,但DEL和几个例外)

  • allkeys-lru:尝试回收最少使用的键(LRU), 使得新添加的数据有空间存放。
  • volatile-lru:尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。
  • allkeys-random:回收随机的键使得新添加的数据有空间存放。
  • volatile-random:回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。
  • volatile-ttl:回收在过期集合的键,并且优先回收存活时间(TTL)较短的键,使得新添加的数据有空间存放。

2.集群

1.twemproxy,大概概念是,它类似于一个代理方式,使用方法和普通Redis无任何区别,设置好它下属的多个Redis实例后,使用时在本需要连接Redis的地方改为连接twemproxy,它会以一个代理的身份接收请求并使用一致性hash算法,将请求转接到具体Redis,将结果再返回twemproxy.使用方式简便(相对Redis只需修改连接端口),对旧项目扩展的首选。
问题: twemproxy自身单端口实例的压力,使用一致性hash后,对Redis节点数量改变时候的计算值的改变,数据无法自动移动到新的节点。

  1. codis, 目前用的最多的集群方案,基本和twemproxy一致的效果,但它支持在节点数量改变情况下,旧节点数据可恢复到新hash节点。

  2. Redis cluster3.0自带的集群,特点在于他的分布式算法不是一致性hash,而是hash槽的概念,以及自身支持节点设置从节点。具体看官方文档介绍。

4.在业务代码层实现,起几个毫无关联的Redis实例,在代码层,对key进行hash计算,然后去对应的Redis实例操作数据。这种方式对hash层代码要求比较高,考虑部分包括,节点失效后的替代算法方案,数据震荡后的自动脚本恢复,实例的监控,等等。

标签:hash,twemproxy,Redis,回收,概念,数据,节点
From: https://www.cnblogs.com/lwx11111/p/17609642.html

相关文章

  • Redis Pipeline管道技术
    1.什么是pipelinePipeline是Redis提供的一种批量请求机制,可以在client端对多条命令进行打包,然后一次性发送给服务器,避免了多次网络往返的开销。2.pipeline的优势为了解释pipeline的作用,我们先思考一个问题:如果客户端需要依次执行多条Redis命令,该如何处理?客户端一次执行一条......
  • Spring boot集成Redis
    在开发中,放到缓存中的数据我们都要给过期时间,使其可以在系统即使没有主动更新数据也能自动触发数据加载的流程,避免业务奔溃导致的数据永久不一致的问题1、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-......
  • redis 如何解决缓存雪崩、击穿、穿透难题
    引言redis作为一门热门的缓存技术,引入了缓存层,就会有缓存异常的三个问题,分别是缓存击穿、缓存穿透、缓存雪崩。我们用本篇文章来讲解下如何解决!缓存击穿缓存击穿:指的是缓存中的某个热点数据过期了,但是此时大量的并发请求访问这个key的值,此时因为缓存过期无法从缓存中获取,直......
  • Redis 之分布式锁的实现
    引言分布式锁大家应该不陌生,在很多大厂面试的时候,面试官们都很喜欢问这个问题。我们在系统中修改已有数据时,需要先读取,然后进行修改保存,此时很容易遇到并发问题。由于修改和保存不是原子操作,在并发场景下,部分对数据的操作可能会丢失。在单服务器系统我们常用本地锁来避免并发带......
  • 深入解析Redis持久化机制
    引言我们都知道,Redis的数据存储在内存中,一旦服务器宕机,内存中的数据将全部丢失。因此,对Redis来说,实现数据的持久化,避免从后端数据库中进行恢复,是至关重要的。本篇我们详细讲解下Redis的三种持久化机制,分别是AOF(AppendOnlyFile)日志和RDB快照以及混合持久化。AOF......
  • OpenERP生产模块基本概念
    1)生产计划方式一般来说,制造企业有四种生产计划方式:面向订单设计,面向订单生产,面向订单装配和面向库存生产。a)面向订单设计(EngineertoOrder,ETO),这种方式主要是针对高度客户化的产品,通常是单件销售,如轮船、水电站大型发电机。企业接到订单后,作业大致顺序是,设计产品,定义产品规格......
  • 新概念3册L6笔记(Smath-and-grab)
    课文课文理解本文是记述文,要点有when,where,who,why,whatandresult,目的明确、线索清晰,描写生动,详略得当,句式多变1)TheexpensiveshopsinafamousarcadenearPiccadillywerejust"opening.交代了时间、地点expensive应翻译为高贵的Maryisanexpensivegirl.Sheeatslike......
  • 解决Redis缓存雪崩问题的有效方法
    Redis缓存雪崩是指在某个时间点,缓存中大量的数据同时过期失效,导致大量请求直接访问后端数据库,造成数据库压力激增,甚至导致系统崩溃。本文将介绍几种有效的方法,帮助您解决Redis缓存雪崩问题,提高系统的稳定性和可靠性。合理设置缓存的过期时间:缓存的过期时间是导致缓存雪崩的主要原......
  • 【操作系统】计算机系统概述 操作系统基本概念
    这部分决定先做题再回来看一遍操作系统的基本概念1.操作系统的概念2.操作系统的特征3.操作系统的目标和功能......
  • 微服务概念
    1.什么是微服务微服务架构是一个分布式系统,按照业务进行划分成为不同的服务单元,解决单体系统性能等不足。微服务是一种架构风格,一个大型软件应用由多个服务单元组成。系统中的服务单元可以单独部署,各个服务单元之间是松耦合的。2.微服务之间通信RestHttp协议RestTempla......