![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 92
高山流水&上善
6k的小白冲10k中.....
展开
-
课程设计(springboot+vue3)-Small商城
课程设计心得:在通过一个多月的项目中,使我学到了很多的东西,也让我看到了我自己的一些在知识上不足,也将使我在后面学习中还要更加努力。选题目的和意义:随着社会以及移动互联网的不断发展,线上购物已经成为了现在人们的一种普遍购物方式了,在电商购物网站中人们不需要出门即可购买到自己喜欢的物品,许多企业和商家都希望通过开发网上商城 来唤醒沉睡的销售市场。那么对于商家来说网上商城开发的目的和意义是什么呢原创 2024-08-08 01:33:55 · 565 阅读 · 0 评论 -
Springboot结合redis实现关注推送
在实际应用中,为了平衡实时性和效率,通常会结合推模式(Push Mode)来实现,比如使用WebSocket或其他长连接技术,当有新动态时服务器可以直接推送给在线用户,而离线用户则可以通过拉模式来获取信息。以下是推模式的详细描述: 服务器推送: 当服务器上有新的、相关或重要的数据可用时,它会主动将这些数据发送到已连接的客户端。拉模式的优点包括: 资源效率:只在用户需要时才加载新数据,减少了不必要的网络传输和服务器负载。实时性: 由于数据是实时推送的,用户可以立即看到更新,无需手动刷新或等待请求响应。原创 2024-06-10 18:25:07 · 1295 阅读 · 1 评论 -
redisson的使用及LUA脚本实现分布式秒杀
消费者组(Consumer Group):Stream支持消费者组的概念,一个消息可以被多个消费者组订阅,每个消费者组内的消费者可以独立地消费消息,实现了消息的广播和分发。创建消费者组:使用XGROUP CREATE命令可以创建一个新的消费者组,指定Stream的名称、消费者组的名称以及起始ID。消息与ID:Stream中的基本单位是消息(message),每条消息都有一个唯一标识符(ID),这个ID是一个递增的整数或是一个由数字和字母组成的字符串,确保了消息的顺序性。消息ID可以用来定位和范围读取消息。原创 2024-05-19 23:44:56 · 1561 阅读 · 0 评论 -
基于redis实现分布式锁适用于秒杀场景
版本号法:在数据库表添加一个version字段,当线程一执行时同时查出版本号(1)与库存(1),线程二也查询版本号(1)与库存(1),线程一开始执行修改操作(库存减一,版本加一),此时库存为0,版本号为2,那么在线程二执行库存扣减时发现库存版本号不对则不会执行。:在上面代码中我们可以看出我们获取锁和释放锁是分开的两个操作,在上图中线程一出现了阻塞状态,假设阻塞了很久导致线程一的锁超时释放了,在阻塞的过程中线程二进入获取锁,此时刚好阻塞结束了要执行释放锁,这时就提前把线程二锁给释放了,导致了锁误删。原创 2024-05-19 00:08:30 · 778 阅读 · 0 评论