摘要:
Transactional的失效场景 阅读全文
摘要:
设计模式分二十三种,三大类,分别是: 对象创建型 抽象工厂、生成器、工厂方法、原型、单例 结构型 适配器、桥接、组合、装饰器、外观、享元、代理 行为型 责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者 阅读全文
摘要:
一、总览 Redis是键值型数据库,键是String,值可以是多种数据类型,具体包括:String(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Sorted Set(有序集合) 键值采用哈希算法,称为全局哈希表。 而每种数据类型对应着都有底层实现的数据结构,具体如图: 二、数据结 阅读全文
摘要:
一、基本的分析命令 1、explain+SQL语句:查看执行计划 2、show create table table1:查看table1的创建SQL 3、show indexes from table1:查看table1所有的索引 4、show table status like 'table1' 阅读全文
摘要:
一个好的消息队列需满足以下几点: 1、首先,必须是开源的产品,这个非常重要。 开源意味着,如果有一天你使用的消息队列遇到了一个影响你系统业务的 Bug,你至少还有机会通过修改源代码来迅速修复或规避这个 Bug,解决你的系统火烧眉毛的问题,而不是束手无策地等待开发者不一定什么时候发布的下一个版本来解决 阅读全文
摘要:
1、关于消息重复 消息重复的情况必然存在在 MQTT 协议中,给出了三种传递消息时能够提供的服务质量标准,这三种服务质量从低到高依次是: At most once: 至多一次。消息在传递时,最多会被送达一次。换一个说法就是,没什么消息可靠性保证,允许丢消息。一般都是一些对消息可靠性要求不太高的监控场 阅读全文
摘要:
一条消息从生产到消费完成这个过程,可以划分三个阶段,为了方便描述,我给每个阶段分别起了个名字。 生产阶段: 在这个阶段,从消息在 Producer 创建出来,经过网络传输发送到 Broker 端。存储阶段: 在这个阶段,消息在 Broker 端存储,如果是集群,消息会在这个阶段被复制到其他的副本上。 阅读全文
摘要:
站在 java 开发语言的角度,虽然可供选择的客户端非常多,但是官方主要推荐使用以下三种客户端,原因大概是它们对 redis 提供的支持更加全面、api 操作更佳丰富。 1、Jedis Jedis 是一款老牌 Redis 的 Java 客户端,提供了比较全面的 Redis 命令的操作支持,也是目前使 阅读全文
摘要:
jmap是JDK自带的监控工具,在JDK的根目录中可以找到。主要用来查看Java进程对内存的使用情况 1、查看类列表,包含实例数、占用内存大小 # pid 是进程ID jmap -histo:live pid 按照占用空间的大小打印程序中类的列表,可以分析哪些类占用了比较多的内存,再结合代码找到问题 阅读全文
摘要:
1、全局锁 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建 阅读全文