文档章节

Java Web中的缓存层框架

marvin_vov
 marvin_vov
发布于 2016/04/19 18:22
字数 432
阅读 346
收藏 18

简述

在web系统中,常见的加速系统访问的手段有对页面静态化,缓存页面,缓存数据,负载均衡等,缓存层起到了非常重要的作用,目前常用到的缓存组件有Redis,memcache等,对于缓存要求较高的项目,Redis的集群管理框架codis也是很不错的选择;

缓存层

在代码开发过程中,为了减少编码,降低缓存和业务代码的耦合度,我们需要把缓存从繁杂的业务代码中抽离出来,成为缓存层,仅仅这样还是不够的,在这里,我不仅仅把缓存层抽离出来,还进一步增强了可插拔性,从而更加方便对缓存进行管理,从这里思路出发,我在这里做了一个简单的缓存层,并且已经在实战项目中运行了很长一段时间,目前仅仅支持redis,但是代码层次具有可扩展性,在后面要加入codis。

项目代码:https://github.com/yamorn/cache-support

整体逻辑如下图:

调用service或者dao中需要缓存的接口时,使用aop拦截,查询缓存,如果缓存中存在,则直接返回,如果缓存中不存在,则查询数据库,将查询的结果返回调用层,与此同时也要把结果存入缓存;

声明缓存的命名空间,便于对个缓存进行管理和清除。在需要缓存的方法上加上注解,即刻达到缓存的目的,很大程度上降低了缓存层和业务代码的耦合度。

本文转载自:http://blog.csdn.net/yamorn/article/details/51192760

共有 人打赏支持
marvin_vov
粉丝 19
博文 38
码字总数 17937
作品 0
其他
程序员
私信 提问
NodeJS对于Java开发者而言是什么?

我们都知道Node.js现在得到了所有的关注。每个人都对学习Node.js感兴趣,并希望可以工作于Node.js。在开始工作之前了解技术背后的概念总是不会错的。但对初学者来说,可能会因为不同的人使用...

城固如春
2017/10/21
0
0
SSM三大框架整合(Spring+SpringMVC+MyBatis)

1、基本概念 1.1、Spring Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述...

qq592fbb5b34ad7
07/02
0
0
9个基于Java的搜索引擎框架

9个基于Java的搜索引擎框架 [导读] Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene为开发人员...

引鸩怼孑
2015/07/30
0
0
从java程序员到CTO的成长路线图

很多新人不知道从事java开发,具体的发展路径是怎么样的,甚至很多人都不能区分程序猿和攻城师的区别。包括不少小白,从事java开发都半年,甚至1年了,对职业发展还没有清晰的认证。这非常不...

6pker
2013/10/24
0
2
编写高性能 Java 代码的最佳实践

摘要:本文首先介绍了负载测试、基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践。最后研究了JVM特定的调优技巧、数据库端的优化和架构方面的调整。以下是译...

这篇文章
06/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

升压变换器 Boost

工作特点 输入输出极性相同。 开关管 MOS 和负载构成并联,在MOS 导通时,电流通过 L 滤波,电源对 L 充电。 当 MOS 断开时,L 向负载及电源放电,输出电压将是 Ui+U L ,达到升压的目的。 ...

colinux
29分钟前
1
0
OSChina 周一乱弹 —— 你狗命在我手上

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 小小编辑:推荐歌曲,《I.W.A.B.N》- Lil Ghost 《I.W.A.B.N》- Lil Ghost 手机党少年们想听歌,请使劲儿戳(这里) 几天没见, 大王(@罗马的...

小小编辑
31分钟前
169
7
轻量级 memcached缓存代理 twemproxy实践

本文内容脑图如下: 文章共 533字,阅读大约需要 2分钟 ! 概 述 twemproxy(nutcracker) 是 Twitter开源的轻量级 memcached / redis 代理服务器,本质就是一个集群管理工具,主要用来弥补 ...

CodeSheep
51分钟前
7
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部