首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

关于几种缓存的懂得小结

2012-08-28 
关于几种缓存的理解小结小结:由于本周一个手机接口访问太频繁,基本上访问下客户端就会生成一次xml,这样又

关于几种缓存的理解小结
小结:由于本周一个手机接口访问太频繁,基本上访问下客户端就会生成一次xml,这样又是频繁的查库,导致80机器负载太高。考虑到缓存解决一下。

三种缓存形式:

1.内存缓存:也即HashMap缓存形式。由于涉及到被查询的表数据变化不是太大,生成的xml也特别的小。只是访问太过频繁,有的时候甚至2秒就访问一次。于是考虑内存缓存的形式。在每次请求过来的时候先在缓存里面取,如果没有再去库里面查。

主要代码是定义一个对象,该对象包含了hashMap中的value值,是字符串类型,另一个是long类型的时间,也就是缓存失效时间

然后写一个工具内存缓存cache类,写一个getdata和setData

参见接口phone的CacheHashMap类

   最后在需要调用的地方进行key的定义和load,get的设置。

2.eccache缓存:即比内存缓存高级,一部分hashMap缓存的原理,如果内存不够用就写到本地文件中,去文件中取,还没有用过,据说不同版本有的没有失效时间。

3.memcache缓存:据了解有一个服务器端和多个客户端。

客户端实际上就是一个jar包,只要有这个jar包,memcache.jar大概是这个,然后有一些配置文件memcache.properties属性文件,里面定义了memcache服务器端的主、从等。例如:

memcachedServers_master=10.11.52.167:11211 10.11.52.167:11212
#slave servers[ip3:port3 ip4:port4]
memcachedServers_slave=10.11.52.167:11213 10.11.52.167:11214

然后在自己需要用到memcache缓存的地方写业务逻辑代码,调用jar包里面的相关方法,同时连接到memcacche服务器端(属性文件那获取值等),第一次的时候把查询或者怎么的结果集以key、value的形式放到服务器端的缓存里面。下一次先从缓存里面取,如果没有再去数据库里面查再缓存上。

memcache需要和spring集成,还需要参见memcache_util工程的spring-memcache.xml

热点排行