redis 切换大量的缓存数据

一个key对应着包含大量的信息的json串

对与这个高并发,而且要定时更新这个key中对应的数据 该如何处理呢?

预备:在redis设置一个 set ctrlKey 'newshops_timeStamp'  用来控制应用时的 key (redis 存一个字段代表 adKey,通过切换key取值,来取数据)

 

例如:一个商品信息 展示页码 要定时更新商品数据

1.定时任务一个:处理将新的商品数据放到redis中  set newshops_timeStamp "{·······}" 

2.当定时任务跑完(将新的数据完全加载到redis中后)

3.插入新的key(newshops ) 放到 预备中的value(即  set ctrlKey newshops_timeStamp

4.之后代码中  就是根据key为 newshops_timeStamp 去redis中获取商品信息

5.将旧的数据删除

 

以上解决方法存在的问题:比如机器负载过高导致数据删除过度消耗

解决方案:缓存商品信息的时候 设置生存时间

EXPlRE <key> <ttl> 命令用于将键key 的生存时间设置为ttl 秒

 

posted @ 2020-12-17 14:45  An-Optimistic-Person  阅读(246)  评论(0编辑  收藏  举报