本文主要是介绍Memcached与Spring AOP构建数分布式据库前端缓存框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
由于上一篇有介绍了Memcached缓存,并集群部署,这边我们就不介绍,我们直接介绍Memcached与Spring AOP构建分布式数据库前端缓存框架
一.Java 实现Memcached客户端,实现分布式
(1)需要的jar
1)commons-pool-1.5.6.jar
2)java_memcached-release_2.6.3.jar
3)slf4j-api-1.6.1.jar
4)slf4j-simple-1.6.1.jar
(2)Java 实现Memcached客户端代码如下:
(1)我们先温习一下Spring AOP
AOP(Aspect Orient Programming)面向切面编程,可以运用在事务管理、安全检查、缓存、对象池管理等。面向切面编程中有一个主要的是Advice,这个Advice定义好的切入点处,连接点之前先执行增强中的代码或者连接点执行后,再执行增强中的代码等。
(2)我们用Maven管理SpringMVC的jar和Memcached的jar
我们这里就介绍Memcached的jar,在POM.XML中添加Memcached对应的jar包
(3)用Spring来管理Memcached连接信息的配置和实现
1)global.properties 文件
2)Spring配置文件(applicationContext-memached.xml)
3)junit测试一下这样配置是否正确,代码如下:
能保存并能获取数据说明配置成功
(4)实现MVC业务逻辑
(5)Spring AOP与Memcached构建数据库前端缓存框架
1)实现AOP的逻辑代码
2)Spring 配置文件配置AOP
配置了对哪个方法进行拦截,这里我们对getData方法进行拦截
(6)测试Spring AOP与Memcached构建数据库前端缓存框架
1)第一次执行我们传参数hello,Memcached里面肯定没有,因为是第一次执行,所示从数据库获取对应的值,并保存到Memcached服务端,如图所示:
2)执行第二次,参数是hello,这次没有去操作数据库,直接从Memcached服务端获取对应的值
3)我们这边对Memcached服务端进行集群部署,所以我们查看一下,数据保存到其中的一台,如图所示:
三.构建Memcached与Spring AOP构建数据库前端缓存框架出现的错误
Error:com.schooner.MemCached.SchoonerSockIOPool - attempting to get SockIO from uninitialized pool!
原因是我们设置MemCachedClient和SockIOPool的ProxName不一样导致,所以两个名称要一样,如图所示:
四.总结
我们在上一篇介绍了,Memcached集群部署,有两台memcached.server=192.168.74.129:12000 和memcached.server2=192.168.74.130:13000,我们通过Memcached客户端实现了分布式缓存的,Memcached服务端之间是不能通讯的,所示我们通过Memcached客户端实现分布式缓存的。
这篇关于Memcached与Spring AOP构建数分布式据库前端缓存框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!