redis排行榜数据处理topk显示内存置换导致的数据丢失问题

  • 2020-10-04
  • 程序简版
  • 公开
简介redis zset 底层实现 ziplist skiplist    将 top 100 排序,其它商品用 string 存储,每次方位判断该商品是否进入top 100里面,进入加入zset,同时移除zset中最后一个数据。 top100可以存放在内存中。 防止 redis 内存置换策略导致的的数据丢失,可以同步进入关系型数据库mysql,不要求数据 完全的一致性 可以通过定期同步的策略,每次同步一部分。  完

redis zset 底层实现 ziplist skiplist   

将 top 100 排序,其它商品用 string 存储,每次方位判断该商品是否进入top 100里面,进入加入zset,同时移除zset中最后一个数据。


top100可以存放在内存中。


防止 redis 内存置换策略导致的的数据丢失,可以同步进入关系型数据库mysql,不要求数据 完全的一致性 可以通过定期同步的策略,每次同步一部分。  完全一致场景(非访问量排行场景),每次操作先设置数据库,然后删除缓存。


修改缓存时查不到指定的键,通过查询数据库获取值。