缓存策略
1. 需求
1) 每天0点对前一日的数据进行累计统计;
2) 并对热点统计查询进行缓存,最大限度降低对数据库的访问;
2. 热点缓存
1) 策略:
a) 按需缓存;
b) 查询参数为Key的方法级缓存;
c) 对特定的缓存Value设置,有效期,目前设置为26小时;
2) 方法:
a) 首次查询时缓存;
1. 分页排序集合
包括:主题,评论的分页浏览;
1) 需求:
建立分页排序集合,对特定主题的记录Id按照排序值进行分页管理;
不同主题,同一主题下的不同组织分别建立分页排序集合;
基本组织数*主题数*分类数=分页排序集合数;
对检索的Key值进行热度统计,从而按照策略,动态维护分页排序集合的大小;
2) 管理策略:
分页排序集合,缓存量的大小,有该排序集合对应的Key值的热度来决定;
a) 新增记录的增加;
b) 审核否决移除;
c) 查询更多的页时增加;
d) 热点值降低到阈值后移除;
2. 名次解释:
排序值:有时间,是否置顶等权重计算得到,对于重复的排序值进行自动不重复追加;
对单个热点数据进行缓存;
1. 操作:
a) 查询:缓存存在就直接返回,不存在就从数据库加载;
b) 更新:
点赞数,浏览数,属于高频操作,原则上对缓存进行修改,每日零点统计任务执行前,进行数据库同步;
并对超期的缓存按照策略进行清理;
c) 删除:记录每个缓存id的最后使用(包括,浏览和更新操作)时间;