- 博客(16)
- 收藏
- 关注
原创 消息队列知识点
生产者发送数据的对象,以及消费者消费数据的对象,都是 Leader。/brokers/topics:临时节点,节点保存broker节点下所有的topic信息,每一个topic节点下包含一个固定的partitions节点,partitions的子节点就是topic的分区,每个分区下保存一个state节点、保存着当前leader分区和ISR的brokeriD,state节点由leader创建,若leader宕机该节点会被制除,直到有新的leader选举产生、重新生成state节点。就像关系数据库中的两张表。
2024-05-25 17:23:44
487
原创 mysql
多版本并发控制:读取数据时通过一种类似快照的方式将数据保存下来,这样读锁就和写锁不冲突了, 不同的事务session会看到自己特定版本的数据,版本链MVCC只在 READ COMMITTED 和 REPEATABLE READ 两个隔离级别下工作。其他两个隔离级别够和 MVCC不兼容, 因为 READ UNCOMMITTED 总是读取最新的数据行, 而不是符合当前事务版本的数据 行。而 SERIALIZABLE 则会对所有读取的行都加锁。trx_id。
2024-04-25 10:22:55
932
原创 Redis
1、如果先删缓存,再写数据库: 在高并发场景下,当第一个线程删除了缓存,还没有来得及写数据库,第二个线程来读取数据,会发现缓存中的数据为空,那就会去读数据库中的数据(旧值,脏数据),读完之后,把读到的结果写入缓存(此时,第一个线程已经将新的值写到缓存里面了),这样缓存中的值就会被覆盖为修改前的脏数据。休眠时间,可能会多次重复,对性能有影响。解决方案:将热点数据缓存设置为永不过期,但是在value当中写入一个逻辑上的过期时间,另外起一个后台线程,扫描这些key,对于已逻辑上过期的缓存,进行删除。
2024-04-23 20:37:53
943
原创 448、数组中消失的数字
给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]示例 2:输入:nums = [1,1]输出:[2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-
2021-06-22 01:46:45
187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1