day4题目

1 你们项目是如何使用XXL-JOB的

XXL-JOB分为两个端:

        1 控制中心    2 代码 

控制中心:作为一个单独的软件或者是微服务单独去部署,在控制中心可以配置代码的执行策略.

代码: 1. 把控制中心部署完毕(一般公司会提前部署好);

        2.  然后编写定时任务代码,主要是使用注解@XxlJob("定时任务名字")定义定时任务名字.

        3. 在代码端的配置文件中,添加调度中心的配置.

        4. 在控制中心配置一个执行器,连接上微服务,一个执行器一般对应一个微服务. 

        5. 执行器配置完成,需要配置一个任务,任务用来配置时间执行策略.一个执行器下边有多个任务.可通过调度日志查看是否执行成功.

XXL-JOB网址: http://192.168.150.101:8880/xxl-job-admin      admin/123456

2 说一说你的评论点赞功能是如何完成(Reids版本)

        点赞记录采用集合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 自动排序,缺点:占用空间大)

3 项目过程有没有难题(业绩)

        将项目中的评论点赞功能重构了一下.  开始代码是的多次读取数据库,变成使用Redis缓存点赞数据,在通过MQ向数据库保存,减轻频繁访问数据库的压力.

你可能感兴趣的:(业务题,java-ee)