Java组件化开发教程!基础+底层+算法+数据库

本文详细介绍了Redis作为缓存组件的原因,其数据淘汰机制,包括LRU和LFU算法,并讨论了Redis的多种缓存模式。同时,文章探讨了在Java组件化开发中如何选择数据淘汰策略,以及缓存模式如Cache Aside、Read/Write-Through和Write-Behind模式的应用。此外,还提到了使用缓存可能遇到的问题,如数据一致性问题,并给出了解决方案。
摘要由CSDN通过智能技术生成

正文

在实际的工作项目中, 缓存成为高并发、高性能架构的关键组件 ,那么Redis为什么可以作为缓存使用呢?首先可以作为缓存的两个主要特征:

  • 在分层系统中处于内存/CPU具有访问性能良好,
  • 缓存数据饱和,有良好的数据淘汰机制

由于Redis 天然就具有这两个特征,Redis基于内存操作的,且其具有完善的数据淘汰机制,十分适合作为缓存组件。

其中,基于内存操作,容量可以为32-96GB,且操作时间平均为100ns,操作效率高。而且数据淘汰机制众多,在Redis 4.0 后就有8种了促使Redis作为缓存可以适用很多场景。

那Redis缓存为什么需要数据淘汰机制呢?有哪8种数据淘汰机制呢?

数据淘汰机制

Redis缓存基于内存实现的,则其缓存其容量是有限的,当出现缓存被写满的情况,那么这时Redis该如何处理呢?

Redis对于缓存被写满的情况,Redis就需要缓存数据淘汰机制,通过一定淘汰规则将一些数据刷选出来删除,让缓存服务可再使用。那么Redis使用哪些淘汰策略进行刷选删除数据?

在Redis 4.0 之后,Redis 缓存淘汰策略6+2种,包括分成三大类:

  • 不淘汰数据

    • noeviction ,不进行数据淘汰,当缓存被写满后,Redis不提供服务直接返回错误。
  • 在设置过期时间的键值对中,

    • volatile-random ,在设
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值