- 博客(10)
- 收藏
- 关注
原创 Redis消息队列实现异步秒杀 - - - 介绍 List、PubSub、Stream队列
a. 队列是入口和出口不在一边,因此我们可以利用:LPUSH 结合 RPOP、或者 RPUSH 结合 LPOP来实现。不过要注意的是,当队列中没有消息时RPOP或LPOP操作会返回null,并不像JVM的阻塞队列那样会阻塞并等待消息。顾名思义,消费者可以订阅一个或多个channel,生产者向对应channel发送消息后,所有订阅者都能收到相关消息。a. 是Redis5.0引入的一种新数据类型,可以实现一个功能非常完善的消息队列。- PUBLISH channel msg :向一个频道发送消息。
2023-05-10 15:59:42
256
原创 【五一创作】缓存的理解 - - 侧重于Redis
由于保证了互斥性,所以数据一致,且实现简单,因为仅仅只需要加一把锁而已,也没其他的事情需要操心,所以没有额外的内存消耗,缺点在于有锁就有死锁问题的发生,且只能串行执行性能肯定受到影响。线程读取过程中不需要等待,性能好,有一个额外的线程持有锁去进行重构数据,但是在重构数据完成前,其他的线程只能返回之前的数据,且实现起来麻烦。缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库,不断发起请求给数据库带来巨大的压力。一个是保证了一致性,一个是保证了可用性。
2023-05-02 09:54:38
129
1
原创 集群的Session共享问题以及对应的解决方案
多台Tomcat 并不共享session 存储空间,当请求切换到不同tomcat服务时导致数据丢失的问题。
2023-05-01 09:53:01
655
2
原创 [算法专题]最简单的方法理解二分查找
很多同学在开始学习二分查找的时候都会写乱,其原因就是对于区间的划分上不够清楚。要想每次都都能精准的实现二分,关键就是在while中寻找每一次边界的选择和处理,其中就要遵守循环不变量规则。通过这篇文章能够让你对二分有进一步了解
2023-04-24 15:59:29
147
2
原创 循环不变量的深度理解
的前两个元素被修改为1, 2。不需要考虑数组中超出新长度后面的元素。,返回删除后数组的新长度。函数应该返回新的长度2,并且原数组。力扣 26:删除有序数组中的重复项。删除重复出现的元素,使每个元素。
2023-04-24 14:36:10
374
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人