缓存
Clement-Xu
经验总结。
展开
-
启用MySQL查询缓存
启用MySQL查询缓存可以极大地减低数据库服务器的CPU使用率,实际使用情况是:开启前CPU使用率120%左右,开启后降到了10%。查看查询缓存情况:mysql> show variables like '%query_cache%'; (query_cache_type 为 ON 表示已经开启)+------------------------------+---原创 2015-07-08 17:42:27 · 14440 阅读 · 0 评论 -
spring-boot配置redis cluster
只需简单两步,便可以配置好redis cluster连接,然后方便地使用RedisTemplate来存取数据。原创 2016-10-28 10:19:21 · 17099 阅读 · 4 评论 -
使用spring cacheManager配置Guava Cache和Redis Cache
简单两步,利用spring的cacheManager配置Guava Cache,同时还可以配置以redis实现的cache。使用时通过配置自由切换不同的cache实现。原创 2016-04-26 14:55:24 · 22935 阅读 · 11 评论 -
使用Spring4.3解决缓存过期后多线程并发访问数据库的问题
缓存过期之后,如果多个线程同时请求对某个数据的访问,会同时去到数据库,导致数据库瞬间负荷增高。Spring4.3为@Cacheable注解提供了一个新的参数“sync”(boolean类型,缺省为false),当设置它为true时,只有一个线程的请求会去到数据库,其他线程都会等待直到缓存可用。这个设置可以减少对数据库的瞬间并发访问。原创 2016-09-06 17:44:21 · 7073 阅读 · 5 评论 -
JedisCluster实现redis的keys命令的方法
由于JedisCluster没有提供对keys命令的封装,只能自己实现:先定义接口。使用TreeSet返回,是为了可以方便地利用它的first()方法:public interface IRedisOperator { /** * 根据pattern 获取所有的keys * @param pattern * @return */ TreeSet keys(St原创 2016-01-02 11:41:17 · 22312 阅读 · 10 评论 -
HTML5: 本地缓存
实现前端缓存,除了自己创建js保存(参考:http://blog.csdn.net/clementad/article/details/46807641),还可以利用html5的storage方法。HTML5 提供了两种在客户端存储数据的新对象:localStorage:没有时间限制的数据存储,在同一个浏览器中,只要没被手动清理,第二天、第二周或下一年之后,数据依然可用。s原创 2015-07-11 14:35:40 · 2984 阅读 · 0 评论 -
互联网项目中各节点缓存的使用总结
在Web和App项目中,缓存的使用无处不在。它的使用,无非就是为了缓解两大耗时黑户对用户体验的影响,同时尽量地减少服务器的负担:对磁盘的访问网络访问(原创文章,转载请注明转自Clement-Xu的csdn博客。)所以,缓存的引入一般都是为了减少这两个访问的次数。由于互联网项目节点繁多,每个节点都会考虑自己的缓存方案,不同节点之间也需要建立相应的协议来充分地利原创 2015-09-06 17:13:36 · 3959 阅读 · 0 评论 -
缓存失效策略(FIFO 、LRU、LFU三种算法的区别)
当缓存需要被清理时(比如空间占用已经接近临界值了),需要使用某种淘汰算法来决定清理掉哪些数据。常用的淘汰算法有下面几种:FIFO:First In First Out,先进先出。判断被存储的时间,离目前最远的数据优先被淘汰。LRU:Least Recently Used,最近最少使用。判断最近被使用的时间,目前最远的数据优先被淘汰。LFU:Least Frequently Used,最原创 2015-09-05 20:43:44 · 22359 阅读 · 0 评论 -
利用Spring-Data-Redis和Jedis操作Redis缓存
只需简单几步,就可以利用Spring-Data-Redis和Jedis操作Redis缓存。步骤如下:第一步:依赖包 org.springframework.data spring-data-redis 1.4.2.RELEASE redis.clients jedis 2.6.0 第二步:封装自己的Redis操作类/*原创 2015-03-04 19:10:10 · 10466 阅读 · 0 评论 -
对Guava Cache的封装和使用(包括一个管理页面实现了查看统计信息、情况、查看记录等)
由于项目的实际情况,需要缓存一些比较不经常改动的数据在本地服务器中,以提高接口处理的速度。决定采用Guava Cache。现在,该系统已经实现,并已经在正式环境中运行了一段时间,日均总命中次数超过一百万,大部分缓存的命中率在98%以上,为某些接口的请求节省了一半的时间。本文介绍具体的实现详情。原创 2015-06-14 15:46:15 · 15563 阅读 · 11 评论 -
Redis各种数据结构(类型)的简要区别
Stringkey -- valueHashkey -- field1 -- value1 -- field2 -- value2 ......List(值是有序的,不唯一的)key -- value1 -- value2 ......Set(值是无序的,唯一的)原创 2015-07-01 20:25:09 · 1857 阅读 · 0 评论 -
使用JS实现前端缓存
在前端浏览器中,有些数据(比如数据字典中的数据),可以在第一次请求的时候全部拿过来保存在js对象中,以后需要的时候就不用每次都去请求服务器了。对于那些大量使用数据字典来填充下拉框的页面,这种方法可以极大地减少对服务器的访问。这种方法特别适用于使用iframe的框架。具体实现思路和方法:创建一个cache.js文件:1、前端页面,定义那些数据需要一次性拿到前端缓存,定义一个对象来原创 2015-07-08 19:43:08 · 32823 阅读 · 0 评论 -
spring-boot中配置和使用Caffeine Cache
本地缓存,之前一直用Guava Cache,最近spring-boot推荐使用Caffeine Cache。跟简单几步,就可以在spring-boot中配置和使用。原创 2016-11-02 17:24:06 · 21092 阅读 · 1 评论