- 博客(16)
- 资源 (5)
- 收藏
- 关注
翻译 paxos&quorum
注: 这里谈论的2PC不同于事务中的2PC,而是专门为了同步和高可用改过的2PC协议 问题: 寻求一种能够保证,在给定多台计算机,并且他们之间由网络相互连通,中间的数据没有拜占庭将军问题(数据不会被伪造)的前提下,能够做到以下两个特性的方法: 1)数据每次成功的写入,数据不会丢失,并且按照写入的顺序排列 2)给定安全级别,保证服务可用性,并尽可能减少机器的消耗基础场
2018-01-19 15:51:20 589
转载 gossip
Gossip算法因为Cassandra而名声大噪,Gossip看似简单,但要真正弄清楚其本质远没看起来那么容易。为了寻求Gossip的本质,下面的内容主要参考Gossip的原始论文:>。 1. Gossip背景Gossip算法如其名,灵感来自办公室八卦,只要一个人八卦一下,在有限的时间内所有的人都会知道该八卦的信息,这种方式也与病毒传播类似,因此Gossip有众多的别名“闲话算法”、“疫情传播算法
2018-01-19 15:48:48 392
翻译 幂等性验证思想
引入: 这段时间在做新渠道的接入,把以前的核心拿过来copy一份进行改造,在进行代码重读的时候,发现了一个好玩的东西,在申请入件的时候,需要经过一步校验,注释上写的是,对于短时间重复提交的验证。当时我就很好奇点了进去,看一看到底是什么东西,然后点开之后大吃一惊,里面做的操作是:取到这笔件的身份证信息,使用其作为标识去查询有没有这个标识的线程,如果有则返回失败,这笔件短时间内重复提交了,如果没有返回
2018-01-19 14:35:43 4789 3
原创 乐观锁
上篇文章谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:乐观锁介绍:乐观锁( Optimi...
2018-01-19 14:05:16 383
原创 mysql悲观锁
悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。使用场景举例:以MySQL InnoDB为例商品goo...
2018-01-19 13:33:36 369
翻译 mysql缓存清空
清空缓存的方法主要用flush命令 为了执行FLUSH,你必须有reload权限。flush hosts 主要是用来清空主机缓存表。如果你的某些主机改变IP数字,或如果你得到错误消息Host … isblocked,你应该清空主机表。当在连接MySQL服务器时,对一台给定的主机有多于 max_connect_errors个错误连续不断地发生,MySQL为了安全的需要将会阻止该主机进一步的连
2018-01-17 09:44:52 12541
转载 匿名内部类
匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法?12345678910111213141516abstract c
2018-01-16 14:43:07 302
翻译 TreeSet
TreeSet和TreeMap类似于HashMap和HashSet之间的关系,HashSet底层依赖于HashMap实现,并且TreeSet里绝大部分方法都是直接调用TreeMap的方法来实现的TreeMap的特点 对于TreeMap而言,它采用一种被称为“红黑树”的排序二叉树来保存Map中的每个Entry——每个Entry都被当成红黑树的一个节点来.对于TreeMap而言,由于它
2018-01-15 21:37:04 292
原创 hashMap&hashSet
Set代表一种集合元素无序、不可重复的集合,Map则代表一种由多个key-value(键-值)对组成的集合。HashSet底层依赖于HashMap实现。 什么是HashSetHashSet实现了Set接口,它不允许集合中有重复的值,当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值
2018-01-15 21:34:44 289
翻译 java StringBuilder String
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常
2018-01-15 20:13:58 263
原创 MySQL索引总结
另一篇不错的博文http://blog.codinglabs.org/articles/theory-of-mysql-index.html索引原理索引的优缺点优点索引大大减小了服务器需要扫描的数据量 索引可以帮助服务器避免排序和临时表 索引可以将随机IO变成顺序IO索引对于InnoDB(对索引支持行级锁)非常重要,因为它可以让查询锁更少的元组。在MySQL5.1和更新的版本中,InnoDB可以在...
2018-01-10 16:42:32 506
原创 java移位
java中有三种移位运算符>> : 右移运算符,num >> 1,相当于num除以2>>> : 无符号右移,忽略符号位,空位都以0补齐
2018-01-09 21:30:41 718
转载 mysql线程池
摘要在MySQL中,线程池指的是用来管理处理MySQL客户端连接任务的线程的一种机制,我厂用的percona版本已经是集成了线程池,只需要通过如下参数开启即可。thread_handling=pool-of-threads1thread_h
2018-01-08 16:20:41 702
原创 mysql权限用户设置
Drop user 'employA'@'localhost';删除一个用户新建三个用户CREATE USER 'employeeA'@'localhost' IDENTIFIED BY '1234'; CREATE USER 'employeeB'@'localhost' IDENTIFIED BY '1234'; CREATE USER 'employerM'@'localho
2018-01-05 08:37:13 561
原创 rodo&undo
在Mysql中,引擎InnoDB支持事务机制,对数据表进行insert、update及delete操作,可用来维护数据结构及数据的完整性,确保批量的操作要么全部执行,要么全部不执行。mysql默认repeatble read 在一个特定的物理位置保存关于事务的相关信息,称事务系统段(仅有一个页)回滚段的segment header信息MySQL二进制日志位置信息double
2018-01-04 10:53:51 721 1
原创 mysql启动与新建用户
net start mysql;启动net stop mysql;关闭mysql - h localhost -u root -p密码连接select @@global.tx_ioslation,@@tx_ioslation;查看系统默认隔离级别,当前会话隔离级别set global transaction isolation level read committed;设置
2018-01-04 10:51:22 650
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人