1 控制中心 2 代码
控制中心:作为一个单独的软件或者是微服务单独去部署,在控制中心可以配置代码的执行策略.
代码: 1. 把控制中心部署完毕(一般公司会提前部署好);
2. 然后编写定时任务代码,主要是使用注解@XxlJob("定时任务名字")定义定时任务名字.
3. 在代码端的配置文件中,添加调度中心的配置.
4. 在控制中心配置一个执行器,连接上微服务,一个执行器一般对应一个微服务.
5. 执行器配置完成,需要配置一个任务,任务用来配置时间执行策略.一个执行器下边有多个任务.可通过调度日志查看是否执行成功.
XXL-JOB网址: http://192.168.150.101:8880/xxl-job-admin admin/123456
点赞记录采用集合Set.
业务id作为Key,用户id做为value.(哪些人对哪个业务点赞,不需要排序,一个人只能点赞一次,所以不能重复). 不采用字符串原因:每次都要进行Json转化,操作繁琐.
点赞数量使用:zSet
点赞数量:哪个类型的哪个业务被点赞多少次
三部分内容,可以选择Hash和zSet点但是赞数量需要进行排序,所以采用zSet.
1. 首先把点赞记录存入Reids,前端再次提交点赞信息之后,会从Reids中查询点赞记录是否存在,不直接去数据库查询.如果点赞记录存在,则结束代码;如果点赞记录不存在,则新增一条点赞记录,新增的点赞记录也会保存在Reids.
2. 添加新的点赞记录之后,要统计点赞数量,点赞数量也是保存在Reids.但是前端查询点赞数量还是查询数据库中表中的具体字段.
3. 使用MQ将Reids和数据库中的信息(点赞数量)同步.设置定时任务,每隔一段时间,向数据库同步一次消息.
4. 监听MQ的消息,解析消息,更新数据库中的点赞数量.
Reids数据结构: 字符串,List,Hash,Set,zSet五种.
zSet分为:key Member Score (优点:可按照Score 自动排序,缺点:占用空间大)
将项目中的评论点赞功能重构了一下. 开始代码是的多次读取数据库,变成使用Redis缓存点赞数据,在通过MQ向数据库保存,减轻频繁访问数据库的压力.