前沿:类似微信的功能,用户在进入页面的时候可以看见未读信息的角标,点击之后角标消失。如下图所示
因为这个是首页模块,如果有大量的用户打开这个界面去DB查询的话,对于数据库的压力是十分之大的,现在下方实现的是零压力,查询准确消息角标数据。
思路介绍:
1、关于增加消息的时候我们可以先判断,key是否存在,存在则value值再加一,否则value值仅仅为1
2、关于查看,当我们查看消息的时候可以clean缓存,如果key存在则delete,不存在则不需要做任何操作
3、关于首页打开,当我们立刻打开的时候,就直接去redis查询即可,直接不去DB查询,因为key肯定都是有的,value也肯定是有的,只是0或者非0的区别而已
1、打开首页查看角标
/**
* 功能描述: 根据用户ID,读取用户首页通知列表
* 备注:根据用户ID,获取消息列表页面,角标数据是来源于redis【只读】
*/
public List<IndexMsgBo> findCornerByType(MsgVo msgVo, Pagination pagination) {
List<IndexMsgBo> result = new ArrayList<>();
Integer size = 0;
msgVo.setPage(paginati