MySQL事务一致性理解

一致性是指数据处于一种语义上的有意义且正确的状态。一致性是对数据可见性的约束,保证在一个事务中的多次操作的数据中间状态对其他事务不可见的。因为这些中间状态,是一个过渡状态,与事务的开始状态和事务的结束状态是不一致的。举个粒子,张三给李四转账100元。事务要做的是从张三账户上减掉100元,李四账户上加
2021年09月26日 904次浏览

免费压力测试工具大合集

DoS(Denial Of Service)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃(关于 DDoS 更多认识请点击这里)。然而随着网络上免费的可用 DDoS 工具增多,
2021年09月25日 6,178次浏览

Diamond--阿里的配置服务中的高可用设计思想

DiamondDiamond主要提供持久配置的发布和订阅服务,最大特点是结构简单,稳定可靠。Diamond的主要使用场景是用来进行动态数据库切换与扩容, 进行一些业务系统运行时开关配置的推送。Diamond产品专注于高可用性,基于此在架构、容灾机制、数据获取模型上有一些与同类产品的不同之处。Diam
2021年09月23日 1,717次浏览

关于系统设计的持续思考(持续更新)

业务设计1.现在需要实现一个发放优惠券的功能,用户量1亿,从1亿的用户中获取当日过生日的用户,在当天早上8点-10点,进行优惠券发放。1.失败重试2.查询过程前置,不影响阻塞发放功能主流程
2021年09月17日 1,161次浏览

本地缓存的几种策略

缓存(Cache) 是指将程序或系统中常用的数据对象存储在像内存这样特定的介质中,以避免在每次程序调用时,重新创建或组织数据所带来的性能损耗,从而提高了系统的整体运行速度。以目前的系统架构来说,用户的请求一般会先经过缓存系统,如果缓存中没有相关的数据,就会在其他系统中查询到相应的数据并保存在缓存中,
2021年09月15日 1,203次浏览

mysql 批量插入为什么可以提升性能?

数据库的一个插入动作,包含了连接,传输,执行,提交/回滚 等等的动作,在 执行的时候可能还会遇到锁表,等待等等,所以,批量插比逐个插效率高,是大部分情况,而不是绝对情况大部分情况下,批量插和逐个插,在执行层面,耗时接近;而不用多次连接数据库,在数据传输层面,也是一次性传输效率高(网络传输和这个模型类
2021年09月10日 954次浏览

MySQL Explain索引性能优化观察

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL
2021年09月07日 794次浏览

netty之FastThreadLocal

1 FastThreadLocal的引入背景和原理简介既然jdk已经有ThreadLocal,为何netty还要自己造个FastThreadLocal?FastThreadLocal快在哪里?这需要从jdk ThreadLocal的本身说起。如下图:![](https://pic2.zhimg.co
2021年09月06日 826次浏览

HashMap何时会链表转红黑树

链表转红黑树部分源码://用来衡量是否要转红黑树的重要参数 static final int TREEIFY_THRESHOLD = 8; //转红黑树需要的最小数组长度static final int MIN_TREEIFY_CAPACITY = 64; for (int binCount =
2021年09月06日 869次浏览

Hashmap的扰动函数

java的Hashmap里的hash方法里用到了扰动函数,我更喜欢称之为扰动计算。目的是为了减少hash冲突。思路是保留高位和低位特征Jdk7中的源码h =(h >>> 20)(h >>> 12);return h (h >>> 7)(h >
2021年09月06日 1,285次浏览