Redis 缓存数据 - V2EX
nitouge
·
2025-01-22
·
via Redis
这是一个创建于 508 天前的主题,其中的信息可能已经有所发展或是发生改变。
目前使用 Redis 缓存数据,对于 A 和 B 单独缓存,现在有其他服务需要 A 和 B 两个对象的某些属性
问题:
- 存数据在服务消费方还是服务提供方;
- 存组合对象,A,B 对象更新,组合对象都需要去更新或者删除再加载;
- 对于分页查询或者 list 查询后,缓存每一条数据,如果通过注解,是否需要详情接口,再去缓存,而不是直接缓存集合数据
Redis 缓存 数据4 条回复 • 2025-01-23 11:55:12 +08:00
 |
|
1
dxddd 2025 年 1 月 22 日
1 看场景,即时性不高的可能消费方和服务方都会缓存,能减少接口请求。 2 组合对象,就类似于宽表,能减少一次 redis 查询,确定性能要求真的这么极限么,那不如直接用内存。 3 分页查询多存在于后台管理,对性能要求不高。第二种场景也大多是查询“我的”数据,大多命中索引,一般不会放缓存中。第三种场景类似于商品列表,这种一般会被预热到缓存里,或者直接就是静态化的。
|
 |
|
2
spritecn 2025 年 1 月 22 日
这种活,不考虑上 ES 么,天生干这个的
|
 |
|
3
nitouge 2025 年 1 月 23 日
@dxddd 是有一个计算服务,调用频繁,我们考虑了两种方法,单独缓存 A 和 B,组合对象不缓存,组合对象 C 去调用缓存 A 和 B 的,也是利用了缓存。还有一个问题:使用了 Spring Cache 对于新增和更新也是两种方案,@CacheEvict 删除缓存,下次查询就再次缓存,@CachePut 去更新,旧的接口返回 Boolean 或者 void ,可能需要操作完还需要再去查询,或者通过发布事件去查询;对于新的接口我们是新增和更新返回缓存对象
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。