上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 22 下一页
摘要: 当我们关注了用户后,这个用户发了动态,那么我们应该把这些数据推送给用户,这个需求,其实我们又把他叫做Feed流,关注推送也叫做Feed流,直译为投喂。为用户持续的提供“沉浸式”的体验,通过无限下拉刷新获取新的信息。 对于传统的模式的内容解锁:我们是需要用户去通过搜索引擎或者是其他的方式去解锁想要看的 阅读全文
posted @ 2022-12-02 23:21 kisshappyboy 阅读(358) 评论(0) 推荐(0)
摘要: 针对用户的操作:可以对用户进行关注和取消关注功能。 实现思路: 需求:基于该表数据结构,实现两个接口: 关注和取关接口 判断是否关注的接口 FollowService 取消关注service @Override public Result isFollow(Long followUserId) { 阅读全文
posted @ 2022-12-02 22:39 kisshappyboy 阅读(247) 评论(0) 推荐(0)
摘要: 初始代码 @GetMapping("/likes/{id}") public Result queryBlogLikes(@PathVariable("id") Long id) { //修改点赞数量 blogService.update().setSql("liked = liked +1 "). 阅读全文
posted @ 2022-12-02 22:00 kisshappyboy 阅读(234) 评论(0) 推荐(0)
摘要: 需求: 创建一个Stream类型的消息队列,名为stream.orders 修改之前的秒杀下单Lua脚本,在认定有抢购资格后,直接向stream.orders中添加消息,内容包含voucherId、userId、orderId 项目启动时,开启一个线程任务,尝试获取stream.orders中的消息 阅读全文
posted @ 2022-12-01 23:51 kisshappyboy 阅读(440) 评论(0) 推荐(0)
摘要: 什么是消息队列:字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色: 消息队列:存储和管理消息,也被称为消息代理(Message Broker) 生产者:发送消息到消息队列 消费者:从消息队列获取消息并处理消息 使用队列的好处在于 解耦:所谓解耦,举一个生活中的例子就是:快递员(生产者)把 阅读全文
posted @ 2022-12-01 23:27 kisshappyboy 阅读(224) 评论(0) 推荐(0)
摘要: 当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤 1、查询优惠卷 2、判断秒杀库存是否足够 3、查询订单 4、校验是否是一人一单 5、扣减库存 6、创建订单 在这六步操作中,又有很多操作是要去操作数据库的,而且还是一个线程 阅读全文
posted @ 2022-12-01 23:08 kisshappyboy 阅读(253) 评论(0) 推荐(0)
摘要: 为了提高redis的可用性,我们会搭建集群或者主从,现在以主从为例 此时我们去写命令,写在主机上, 主机会将数据同步给从机,但是假设在主机还没有来得及把数据写入到从机去的时候,此时主机宕机,哨兵会发现主机宕机,并且选举一个slave变成master,而此时新的master中实际上并没有锁信息,此时锁 阅读全文
posted @ 2022-12-01 15:09 kisshappyboy 阅读(683) 评论(0) 推荐(0)
摘要: 抢锁过程中,获得当前线程,通过tryAcquire进行抢锁,该抢锁逻辑和之前逻辑相同 1、先判断当前这把锁是否存在,如果不存在,插入一把锁,返回null 2、判断当前这把锁是否是属于当前线程,如果是,则返回null 所以如果返回是null,则代表着当前这哥们已经抢锁完毕,或者可重入完毕,但是如果以上 阅读全文
posted @ 2022-12-01 14:37 kisshappyboy 阅读(1096) 评论(0) 推荐(0)
摘要: 在Lock锁中,他是借助于底层的一个voaltile的一个state变量来记录重入的状态的,比如当前没有人持有这把锁,那么state=0,假如有人持有这把锁,那么state=1,如果持有这把锁的人再次持有这把锁,那么state就会+1 ,如果是对于synchronized而言,他在c语言代码中会有一 阅读全文
posted @ 2022-12-01 11:46 kisshappyboy 阅读(944) 评论(0) 推荐(1)
摘要: 之前的redis分布式锁已经结束了,实际上还有有些问题, 基于setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都是使用synchronized修饰的,假如他在一个方 阅读全文
posted @ 2022-12-01 11:42 kisshappyboy 阅读(261) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 22 下一页