博客项目的功能介绍

ElasticSearch功能模块的介绍

数据是怎么存入es中的?

        前端发送了一博客,后端控制器把博客信息存在数据库中,并且返回一个把博客存在数据库中的具体的id,我们把那个博客id放到MQ里面监听这个id

        博主发表了博客之后,MQ会监听到这个id,并且判断数据库里面是否存在这个id的博客,存在的话(表示发过博客)就用新的博客数据覆盖掉原来的数据(es中的博客数据),如果不存在则把博客的数据插入到es中

es分页查询并且高亮显示

  •         构建条件搜索
  •         分页
  •         精准匹配
  •         高亮显示
  •         执行搜索
  •         解析结果

项目中那部分使用到了es

  •         搜索博客
  •         搜索输入框的下拉显示

redis功能模块的介绍 

        热搜功能:前端页面的输入框输入一个关键字,后端MQ监听到这个关键字之后把关键字插入到redis里面,原因是redis里面有一个数据类型是zSet,这个数据类型里面有一个分数属性,我们可以通过这个分数属性进行排序,在插入redis的时候我们会判断此时redis里面是否存在这个关键字,如果存在我们就让分数加1,否则就把关键字插进去,最后根据分数降序排序输出

RabbitMQ消息队列功能介绍

        RabbitMQ中有很多模式供我们使用,比如路由模式、广播模式。我们在RabbitMQ中使用的是路由模式,因为广播模式是把消息发给所有的消息队列,路由模式是把消息发给指定的消息对列

        一个RabbitMQ中有很多个交换机,每个交换机里面又有很多消息队列,每个消息队列存放不同的信息,除此之外,还有一个消息组件来监听这些消息队列,进而实现对应的功能

Websocket消息推送功能介绍

        作者发布博客的时候,会向后端发送一个存储user对象的session和作者的id

        后端用CurrentHashMap存储登录的用户对象,把后端传过来的session赋给WebSocket的session,然后判断map中是否存在这个用户,如果不存在的话在线数加1,将当前对象放入连接池(主要用两个注解完成,一个是onOpen,一个是onClose,onOpen用来接入连接,onClose用来断开连接)

        博客信息会存进数据库并返回一个博客id,MQ监听到这个id之后,就会去数据库里面取出博客信息,还会去用户关系表里面找出发布博客作者的所有粉丝,推动并闪烁显示,如果一个作者发布了很对条博客的话,会存进一个list里面遍历输出

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值