redis缓存如何更新,如何删除

商品详情缓存场景:

概述:
比如一个商品下聚合多个相关数据的缓存, 将商品的整个聚合信息按商品的ID当作key,value等于各种聚合信息(父对象包含并组合各个子对象结构,使用json转换成字符串对象)。

第一种缓存方案

何时将聚合的信息放入缓存:
查询商品详情时,将各个组合完成后的对象放入缓存

聚合的信息变更时缓存如何更新,更新方案:先删除-后添加:
先删除: 商品对象和聚合的子对象发生变更时,找到子对象关联的商品ID,对redis中的商品Id的key 进行删除。 预先调用商品详情接口,存入缓存,不用让第一个访问用户速度变慢。
(在存入子表信息时尽量冗余商品Id字段不用进行反查。针对场景可以具体分析)
后添加: 在查询商品详情时,如果缓存没有,重新在放入缓存

第二种 更新商品详情的任何子表时将缓存重新进行set 跟第一种方案差不多,区别在于不用重复编写组装的逻辑代码。

.