一、工具是什么
1 、内存key-value存储容器
2、memcached主要使用于存储实时性要求不是很高的信息。
二、怎么用
1、有win、linux、python等支持库
2、安装请百度。
重点:memcached存储的是key/value的键值对,但是值必须是可序列化的对象(这里我说的Java),还可以是json,xml,html等,这里要说明memcached集群,server端之间并不会进行相互的通信,通信完全由你的客户端来完成,你只需在客户端规定好你的key值,然后set进行,此时会有一个散列算法,来决定你key会存放在哪台server上。
三、使用缓存的常用方法
查询数据:
1、先查缓存,查不到从DB里查询,将DB结果同步到缓存中,do业务逻辑
2、查缓存,查到了,直接do业务逻辑
写入数据:
当数据写入了之后,同步写入到缓存中,如memcached
更新modify数据:
DB先modify,然后根据memcached的key值先删除缓存中的数据,再插入新的数据。
(注意:memcached 内的存储操作是原子的,所以信息的更新不会让客户机只获得部分数据;它们获得的或者是老版本,或者是新版本。)
四、web开发中的启发
可以用spring aop来拦截你要缓存的service,通过类名+方法名+参数名,来做到memcached的key值得唯一。
可以用于分模块开发 ,因为调用的都是同一个类中的方法,但是拦截器也是回影响性能的,但是开发效率会提高的,还有就是不会破坏你的service的业务逻辑。
五、参考推荐
http://snowolf.iteye.com/blog/1576818