Redis如何存储热点数据
Mysql中存在100w条热点数据,Redis中只存储20w条,如何保证Redis中都是热点数据
主要考察如何Redis的数据淘汰策略
- LFU算法:Least Frequently Used,最不经常使用算法。
- LRU算法:Least Recently Used,近期最少使用算法。
Redis4.0之后为我们提供了8中淘汰策略,但真正意义上的只有5种。其中针对Random、LRU、LFU提供了两种不同数据范围的策略,一种是volatile针对设置了超时时间的,一种是没有设置超时时间的。具体的,这5种分别是:
- noeviction:这种策略表示不进行数据淘汰,同时也是Redis的默认淘汰策略,当缓存写满时,Redis就不再提供写服务了,写请求直接返回失败。
- Random:随机策略分为两种,一种是volatile,这种是设置了过期时间的数据集,另外一种是allKeys,这种是包含了所有的数据,当我们缓存满了的时候,这种策略就会在我们的数据集中进行随机删除。
- volatile-ttl:在设置了超时时间的数据集中,按照过期时间的先后顺序进行删除,越早过期先被删除。
- LRU:volatile,在设置了超时时间的数据集中,优先删除最近最少使用的,allKeys对所有的数据中优先删除最近最少使用的。(缺陷:5分钟,如果前4分钟的热点数据请求了一万次,而最后另外一个热点数据请求只有一千次,理应保留前4分钟请求一万次的热点数据,但最终会保留最后1分钟的数据)
- LFU:在LRU基础上增加了请求数统计,这样能更准确的代表我们的热点数据
此时回看我们的问题,我们需要的策略就是LFU算法,而使用volatile还是allkeys就需要根据相应的场景进行分析了。
Redis如何存储热点数据相关推荐
- SpringBoot+Redis(实现处理热点数据)
一.什么是热点数据 在很短的时间内,许多数据要被多次查询(像双十一购物,查询商品) 二.为什么要使用redis redis是非关系型数据库,Redis将数据存储在内存上,避免了频繁的IO操作 三.场景 ...
- redis存储树结构数据
本文主要讲解两方面内容:1.redis如何存储树结构数据.2.java操作redis时选取哪种序列化器. 1. redis如何存储树结构数据 先抛出结论,树结构数据在redis中的存储形式如下: 1. ...
- java如何实现redis分片存储_AOP与Redis缓存实现
1. AOP实现缓存业务 1.1 业务需求 1). 自定义注解 @CacheFind(key="xxx",second=-1) 2). 使用自定义注解 标识业务方法 将方法的返回值 ...
- redis 什么是冷数据_redis一般存储什么类型数据
Redis是一个开源的底层使用C语言编写的key-value存储数据库.可用于缓存.事件发布订阅.高速队列等场景.而且支持丰富的数据类型:string(字符串).hash(哈希).list(列表).s ...
- redis 热点数据 缓存
Redis 是什么 Redis 的五种基本类型 STRING LIST SET HASH ZSET 键的过期时间 发布与订阅 事务 持久化 快照持久化 AOF 持久化 复制 从服务器连接主服务器的过程 ...
- flask中的CBV , flask-session在redis中存储session , WTForms数据验证 , 偏函数 , 对象里的一些小知识...
flask中的CBV , flask-session在redis中存储session , WTForms数据验证 , 偏函数 , 对象里的一些小知识 flask中的CBV写法 后端代码 # 导入vie ...
- Redis(案例二:高并发商品首页热点数据开发实战)
热点数据 经常会被查询,但是不经常被修改或者删除的数据 ⾸⻚-详情⻚ 链路逻辑 检查缓存是否有 缓存不存在则查询数据库 查询结果放到缓存,设置过期时间 下次访问则命中缓存 代码实现 pojo -热点视 ...
- 如何保证redis数据都是热点数据
mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据? 1.限定 Redis 占用的内存,Redis 会根据自身数据淘汰策略,加载热数据到内存. 所以,计 ...
- mysql怎么保证热点数据_MySQL里有2000w数据,redis中只存20w数据,如何保证redis中数据都是热点数据...
计算20w的热点数据占据内存的大小.然后在Redis中,配置最大内存容量,在redis.conf文件maxmemory 标签中配置. 当redis内存数据大小上升到一定大小的时候,就会施行数据淘汰策略 ...
最新文章
- pyspatialite
- python中格式符的应用%s,%d,%f以及format()的实例以及输出格式
- 【计算机网络】应用层 : 总结 ( 网络应用模型 C/S P2P | 域名解析 DNS | 文件传输协议 FTP | 电子邮件 | 万维网 与 HTTP ) ★★★
- 从零入门 Serverless | 架构的演进
- SQL Server资源管理之内存管理篇(上)
- 如何将Java应用程序置于Apache HTTP服务器之后
- Arthas实践--获取到Spring Context,然后为所欲为
- RHEL6 grub修复
- 信息学奥赛一本通 1066:满足条件的数累加 | OpenJudge NOI 1.5 10
- MFC 程序来龙去脉
- mysql 5.5主从同步_MySQL 5.5主从同步
- java垃圾回收机制简介
- OK插件安装常见问题集锦(PowerPoint版)|OneKeyTools Lite安装说明
- 并行与分布式计算复习大纲 华南农业大学
- Win10不进行操作很快自动睡眠、休眠的解决方法
- php ean13,php生成EAN
- 白炽灯和led哪个护眼?分享真正适合孩子的护眼台灯
- uni-app相机组件实现自定义二维码扫描
- mysql多实例部署
- 问题 D: 神奇密码锁
热门文章
- 2-氟丙二酸二乙酯,cas685-88-1等含氟试剂,氟化试剂
- python api文档管理工具_开源的api文档管理系统
- 微信公众平台开发(PHP)(五) 天气预报功能开发
- Power Automate:发送带有SharePoint列表附件的邮件
- c语言length函数,length_length什么意思
- linux常用指令介绍_软件包管理_VIM编辑器的使用_用户和组账户管理_文件权限管理
- 以色列通过空袭回应哈马斯的黑客攻击
- 1992年的鹿鼎记台词,嘛的,哥20年后才看到
- 【数学概念】充分必要条件(充分性、必要性)的简单辨析
- win10增加matlab虚拟内存,详细教你win10如何增加虚拟内存