memCached环境配置及客户端调用相关说明
memcached是什么?
许多Web应用都将数据保存到DBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。
memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。memcached是高性能的分布式内存缓存服务器,也就是可以允许不同主机上的多个用户同时访问这个缓存系统,这种方法不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。一般情况下memcached的用途如下:
Memcached的内置内存存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。所以我们在取值时,应考虑缓存中的数据已经被替换掉或者是程序员自已对数据置了过期时间的情况。即应判断 get(key)==null的情况。
Memcached的架构:
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式完全取决于客户端的实现。
memcached的分布式:
我们采用的memcached for java client所使用的分布式算法是Consistent Hashing算法。
windows下memCached服务器端搭建:
1. 下载memcache(http://jehiah.cz/projects/memcached-win32/)的windows稳定版,解压到某一路径,即为memcached_home。
2. 在终端(也即cmd命令界面)下输入 ‘%memcached_home%"memcached.exe -d install’ 安装
3. 再输入: ‘%memcached_home%"memcached.exe -d start’ 启动。注意: 以后memcached将作为windows的一个服务每次开机时自动启动,这样服务器端已经安装完毕了。
4. Memcached常用参数说明:
memcached -d –m 1024 -l 192.200.1.75 -p 11211
-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
Linux下的安装:
memcached安装与一般应用程序相同,configure、make、make install就行了。
$ wget http://www.danga.com/memcached/dist/memcached1.2.5.tar.gz
$ tar zxf memcached1.2.5.tar.gz
$ cd memcached1.2.5
$ ./configure
$ make
$ sudo make install
默认情况下memcached安装到/usr/local/bin下。
从终端输入:$ /usr/local/bin/memcached p 11211 m 64m vv即可启动memcached
Memcached的java客户端的使用。
1. 下载Memcached 的java客户端包(http://www.whalin.com/memcached/#download)
2. 根据不同版本构建到工程中。
3. 由于Memcached的客户端在处理大对象的序列化时,效率较差,通过hessian的序列化工具进行了相应模块的替换。优化后的memcached java client 加入到项目构建路径中即可。
4. 调用方法详见API。
5. 依赖的包及生成后的memcached的包: