摘要: 一. Redis 分布式锁的实现以及存在的问题 锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。使用 Redis 实现锁,主要是将资源放到 Redis 当中,利用其原子性,当其他线程访问时,如果 Redis 中已经存在这个资源,就不允许之后的一些操作。spring b 阅读全文
posted @ 2019-02-22 15:43 加肥猫咪 阅读(400) 评论(0) 推荐(0) 编辑
摘要: Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁 / 非公平锁 可重入锁 / 不可重入锁 独享锁 / 共享锁 互斥锁 / 读写锁 乐观锁 / 悲观锁 分段锁 偏向锁 / 轻量级锁 / 重量级锁 自旋锁 上面是很多 阅读全文
posted @ 2019-02-19 12:01 加肥猫咪 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 对于学习J2EE的框架有很大的帮助,代码里使用了各种设计模式、事件机制、Java8语法、代码量也很小,web服务使用Netty作为支持,对HTTP/网络想研究的一定是你的必读品。目前在写 Blade-In-Action 小书。 我之前也写过如何实现IOC/MVC框架的简单博文,可以在这个biezhi 阅读全文
posted @ 2019-02-19 10:56 加肥猫咪 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1.Synchronized关键字 Synchronized关键字会让没有得到锁资源的线程进入BLOCKED状态,而后在争夺到锁资源后恢复为RUNNABLE状态,这个过程中涉及到操作系统用户模式和内核模式的转换(重量级锁在操作系统层面,申请了Mutex Lock 来实现互斥),代价比较高。 尽管Ja 阅读全文
posted @ 2019-01-24 17:10 加肥猫咪 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 1、分页搜索 语法: 实际操作: 查看共有5条数据: 我们假设将这7条数据分成3页,每一页是3条数据,来实验一下这个分页搜索的效果 第一页: 第二页: 第三页: 2、深度搜索deep paging的性能问题 阅读全文
posted @ 2019-01-18 15:13 加肥猫咪 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 语法:timeout=10ms,timeout=1s,timeout=1m timeout:默认无timeout,latency平衡completeness,手动指定timeout,timeout查询执行机制 阅读全文
posted @ 2019-01-18 14:36 加肥猫咪 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: bulk api的语法 正常的语法: 异常的语法: 1、bulk中的每个操作都可能要转发到不同的node的shard去执行 2、如果采用比较良好的json数组格式 允许任意的换行,整个可读性非常棒,读起来很爽,es拿到那种标准格式的json串以后,要按照下述流程去进行处理 (1)将json数组解析为 阅读全文
posted @ 2019-01-18 14:11 加肥猫咪 阅读(962) 评论(0) 推荐(0) 编辑
摘要: 先查看一条数据: 1、_index元数据 (1)代表一个document存放在哪个index中 (2)类似的数据放在一个索引,非类似的数据放不同索引:product index(包含了所有的商品),sales index(包含了所有的商品销售数据),inventory index(包含了所有库存相关 阅读全文
posted @ 2019-01-17 11:36 加肥猫咪 阅读(4055) 评论(0) 推荐(0) 编辑
摘要: 1、bulk语法 bulk api对json的语法,有严格的要求,每个json串不能换行,只能放一行,同时一个json串和一个json串之间,必须有一个换行 如果格式是这样: 结果: 如果格式是这样: 结果: bulk操作中,任意一个操作失败,是不会影响其他的操作的,但是在返回结果里,会告诉你异常日 阅读全文
posted @ 2019-01-17 11:07 加肥猫咪 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 1、批量查询的好处 就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍 2、mget的语法 (1)一条一条的查询 GET /test_index/test_typ 阅读全文
posted @ 2019-01-17 10:31 加肥猫咪 阅读(287) 评论(0) 推荐(0) 编辑