上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页
摘要: 初识MySQL的gap,觉得这个设计比较独特,和其他数据库的做法不太一样,所以整理一个简单的memo(虽然关于gap锁,相关资料已经很多了) 1. 什么是gap 说白了gap就是索引树中插入新记录的空隙。相应的gap lock就是加在gap上的锁,还有一个next-key锁,是记录+记录前面的gap 阅读全文
posted @ 2022-06-02 12:03 yifanSJ 阅读(1339) 评论(0) 推荐(0) 编辑
摘要: 一、说明 在上一篇中,介绍了RabbitMQ中的死信队列是什么,何时使用以及如何使用RabbitMQ的死信队列。相信通过上一篇的学习,对于死信队列已经有了更多的了解,这一篇的内容也跟死信队列息息相关,如果你还不了解死信队列,那么建议你先进行上一篇文章的阅读。 这一篇里,我们将继续介绍RabbitMQ 阅读全文
posted @ 2022-06-02 11:20 yifanSJ 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 1 你将学到 如何保证消息百分百投递成功 幂等性 如何避免海量订单生成时消息的重复消费 Confirm确认消息、Return返回消息 自定义消费者 消息的ACK与重回队列 限流 TTL 死信队列 2 保证消息的百分百投递成功 2.1 Producer 的可靠性投递 2.1.1 要求 保证消息的成功发 阅读全文
posted @ 2022-06-02 10:21 yifanSJ 阅读(109) 评论(0) 推荐(0) 编辑
摘要: controller是线程不安全的,因为controller使用的是单例模式,不同的线程会对数据进行共享,导致数据混乱,没有实现我们想要的结果,除非定义的是常量,那就没有关系. 因为设计成单例模式的话,就不需要处理太多的gc,性能就可能得到提高 @RestController @RequestMap 阅读全文
posted @ 2022-06-01 17:39 yifanSJ 阅读(589) 评论(1) 推荐(0) 编辑
摘要: 在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数。这时候你可能会想,一条select count(*) from t 语句不就解决了吗? 但是,你会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢。然后你可能就想了,MySQL怎么这么笨啊,记个总数,每次要 阅读全文
posted @ 2022-06-01 17:24 yifanSJ 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 1. 索引列不要使用函数和运算 2. 尽量避免使用 != 或 not in或 <> 等否定操作符 3.当查询条件为多个的时候,可以采用复合索引 4.范围查询对多列查询的影响 查询中的某个列有范围查询,则其右边所有列都无法使用索引优化查找。 举个例子,假设有一个场景需要查询本周发布的资讯文章,其中的条 阅读全文
posted @ 2022-06-01 17:06 yifanSJ 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 一、 技术背景你要了解吧 按照套路是要先装装X,谈谈JVM垃圾回收的前世今生的。说起垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。设计和优化C++这门语言的专家们要长点心啦~~ 阅读全文
posted @ 2022-06-01 16:52 yifanSJ 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 常听见有人在问这几种类型的锁有什么区别,所以整理了这篇文章。 一、自旋锁 自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区。如下: 使用了CAS原子操作,lock函数将owner设置为当前线程,并且预测原来的值为空。unlock函数将owner设置为n 阅读全文
posted @ 2022-06-01 14:22 yifanSJ 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 一、二叉树 特点:每个节点最多有两个子节点 完全二叉树:高度为k的二叉树,其1~h-1层为满结点,且其h层(叶子结点层)的节点从左至右依次排列(最多2^h-1个,最少0个) 满二叉树:除最后一层外,每个结点都有左右子结点的二叉树 平衡二叉树:任一结点的左右子树的高度差绝对值不超过1,且左右子树均为平 阅读全文
posted @ 2022-06-01 14:15 yifanSJ 阅读(642) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ是流行的开源消息队列系统,使用erlang语言开发,由于其社区活跃度高,维护更新较快,性能稳定,深得很多企业的欢心(当然,也包括我现在所在公司【手动滑稽】)。 为了保证订单业务的消息数据不丢失,需要使用到RabbitMQ的死信队列机制,当消息消费发生异常时,将消息投入死信队列中。但由 阅读全文
posted @ 2022-06-01 14:02 yifanSJ 阅读(84) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页