关于几种缓存的理解小结

小结:由于本周一个手机接口访问太频繁,基本上访问下客户端就会生成一次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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值