摘要: 最近了解了下缓存技术,主要分为内存缓存 和磁盘缓存,然后分布式里面有一些消息的推送,节点的一些处理。现在很多的用OSCache,EhCache 等等,资料很多,暂时就不多说了,我这里仅仅为了了解缓存框架的的知识,自己临时写一个缓存,后面可以实现AOP 和spring 结合。 实现功能:1.数据都缓存 阅读全文
posted @ 2018-01-01 00:47 危常焕 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 问题描述 场景:我们的应用系统是分布式集群的,可横向扩展的。应用中某个接口操作满足以下一个或多个条件: 1. 接口运行复杂代价大, 2. 接口返回数据量大, 3. 接口的数据基本不会更改, 4. 接口数据一致性要求不高(只需满足最终一致)。 此时,我们会考虑将这个接口的返回值做缓存。考虑到上述条件, 阅读全文
posted @ 2018-01-01 00:36 危常焕 阅读(5543) 评论(0) 推荐(0) 编辑
摘要: 缓存的应用场景 CPU缓存 是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。(选用存储介质,提高访问速度:高速缓存>内存;减少重复量) 浏览器缓存 浏览器可以缓存一些静态资源,比如图片、js、css等,这些都是不常变化的内容,所以没有必要每次都去请求。(减少网络 阅读全文
posted @ 2018-01-01 00:33 危常焕 阅读(2295) 评论(0) 推荐(0) 编辑
摘要: 1. redis加锁分类 2. 第一种锁命令INCR 这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。 然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说明这个锁正在被使用当中。 3. 第二种锁SETNX 这种加锁 阅读全文
posted @ 2017-12-31 16:44 危常焕 阅读(8705) 评论(0) 推荐(0) 编辑
摘要: 前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时, 阅读全文
posted @ 2017-12-30 17:35 危常焕 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 一.Spring对编程式事务的支持 Spring中的事务分为物理事务和逻辑事务; 物理事务:就是底层数据库提供的事务支持,如JDBC或JTA提供的事务; 逻辑事务:是Spring管理的事务,不同于物理事务,逻辑事务提供更丰富的控制,而且如果想得到Spring事务管理的好处,必须使用逻辑事务,因此在S 阅读全文
posted @ 2017-12-28 22:23 危常焕 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。 spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,sprin 阅读全文
posted @ 2017-12-28 20:50 危常焕 阅读(3940) 评论(0) 推荐(1) 编辑
摘要: 1.maven依赖 <!-- ehcache 相关依赖 --> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.8.2</version> </dependency> 阅读全文
posted @ 2017-12-26 18:49 危常焕 阅读(2569) 评论(0) 推荐(0) 编辑
摘要: volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v 阅读全文
posted @ 2017-12-22 00:36 危常焕 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 1. Callable与Runable区别 Java从发布的第一个版本开始就可以很方便地编写多线程的应用程序,并在设计中引入异步处理。Thread类、Runnable接口和Java内存管理模型使得多线程编程简单直接。 但Thread类和Runnable接口都不允许声明检查型异常,也不能定义返回值。没 阅读全文
posted @ 2017-12-17 02:45 危常焕 阅读(262) 评论(0) 推荐(0) 编辑