文章目录
- Redis
- 控制台使用redis
- 在spring boot里使用redis
- 点赞
- 我收到的赞
- 关注、取消关注
- 关注列表、粉丝列表
- 优化登录模块
- kafka
- 阻塞队列
- Kafka入门
- Spring整合Kafka
- 发送系统通知
- 显示系统通知
- 搜索功能
Redis
控制台使用redis
安装好redis后文件夹添加入path路径后,控制台redis-cli可以查看Redis数据库并执行数据添加等操作。
选择11数据库 >select 11
对 String、Hash、List、Set、SortedSet 分别进行创建并调用常用方法,还可以用expire设置某个结构的有效时间,flushdb删除当前库所有数据
在spring boot里使用redis
- redis配置类 RedisConfig.java, 实现跟控制台操作一样的功能
|
\/
测试 RedisTests.java
点赞
- RedisKeyUtil 工具类
|
\/
LikeService
|
\/
LikeController 异步更新点赞
discuss-detail.html 更改3个点赞处(帖子的点赞、回帖的点赞、回帖评论的点赞)的th代码 ;写动态discuss.js
|
\/
为了更新页面上的获赞次数
HomeController,增加likeCount;DiscussPostCotroller,增加likeCount
discuss-detail.html,th增加likeCount
我收到的赞
- RedisKeyUtil 增加key
|
\/
LikeService 改写点赞方法,添加查询某用户赞数的方法
|
\/
LikeController 添加输入参数entityUserId; discuss-detail.html里点赞处添加${*.userId} ; discuss.js添加参数entityUserId
|
\/
UserController 添加获取个人主页的方法getProfilePage(),返回"/site/profile" ;
index.html 头部用户个人主页链接 所有用户头像链接(详情页、私信页都应把用户头像链接改掉)
profile.html 个人信息处 改头像、用户名、获得的赞数
关注、取消关注
- RedisKeyUtil
|
\/
FollowService follow unfollow
|
\/
FollowController异步请求 ; profile.html “关注ta”改th,并写profile.js
|
\/
FollowService 获取关注/被关注的数量
|
\/
UserFollowService 个人主页添加关注/粉丝量、是否已关注 ; profile.html “获赞数”“关注者”等改th
关注列表、粉丝列表
- FollowService 查询关注人/粉丝列表
|
\/
FollowController, getFollowees() getFollowers() ; profile.html改关注人/粉丝的跳转链接(followee.html、follower.html) followee.html、follower.html改th信息的分页显示
优化登录模块
将一些用sql存的数据改用redis存,因为redis操作效率高,且有自动设置数据生效时间的功能。
- RedisKeyUtil
增加验证码的redis key
增加登录凭证ticket的redis key
|
\/
LoginController 改写getKapcha()将数据存入redis
LoginTicketMapper不再使用,用@Deprecated注解标识,及其他使用这个bean的地方需要重构; UserService 登录时存凭证、登出时删除凭证、查询凭证 等使用LoginTicketMapper的方法改写成读取redis数据的方法
|
\/
LoginTicketMapper findUserByName()方法改写成缓存用户信息, 并修改其他需要清理缓存的方法findUserById()、acitivation()等
kafka
阻塞队列
BlockingQueueTests 生产者和消费者
Kafka入门
安装,cmd窗口操作
Spring整合Kafka
发送系统通知
- entity.Event.java
|
\/
event.EventProducer
event.EventConsumer 被相应的controller自动调用
|
\/
CommentController触发评论事件
FollowController 触发关注事件
LikeController 触发点赞事件 并修改discuss-detail点赞处添加${post.id},discuss.js也添加
显示系统通知
- MessageMapper 添加查询通知的方法 并添加方法进相应的xml
|
\/
MessageService添加相应方法
|
\/
MessageController 添加getNoticeList() ; letter.html修改通知相关 ; 写notice.html notice-detail.html
|
\/
MessageInterceptor拦截器 消息数量的显示
搜索功能
Elasticsearch服务器
Elasticsearch ik分词插件
模拟web客户端的工具 Postman
ElasticsearchService
DiscussPostController
CommentController
EventConsumer
SearchController
search.html