关于Memcached在项目中的运用

   最近在几个WEB项目中都用到了Memcached,简单说一下使用该缓存方案的一些优点。其中,应用背景是有大量数据需要进行读操作,并且用户对查询信息内容的响应时间要求很高。
    关于memcached,官方是这样描述的:Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。
1、memcached是 一个开源项目。这就意味着我们可以下载它的源代码,基于它的源代码扩展功能,其源代码包括C#和Java版本。
2、关于分布式,它本身不提供分布式的解决方案,但是我们可以在memcache客户端做分布式集群。
memcached在Windows系统下安装:
下载地址:
1、解压memcached.zip到D:\BTS\mcd
2、启动"命令行",进入D:\BTS\mcd目录,运行指令:
   D:\BTS\mcd>memcached -d install
3、D:\BTS\mcd>regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server在其中有一个ImagePath项,值为"D:\BTS\mcd\memcached.exe" -d runservice,在后面加上 -l 127.0.0.1 -m 512 -c 1024。
这是将Memcached的最大内存修改为了512 MB,最大连接数1024。
4、启动Memcached
   D:\BTS\mcd>net start "memcached Server"
5、查询Memcached缓存服务的状态,可以运行
    D:\BTS\mcd>telnet 127.0.0.1 11211

关于memcached功能的扩展,这里我们主要针对缓存内容信息的控制。由于memcached本身对缓存的信息控制的局限性,例如,缓存数据的清理,在不重启缓存服务器的情况下,如何将
指定失效的KV信息从缓存删除掉,这样就需要我们清除的知道,我们存储了哪些信息。这里我们提供了一个方案就是,扩展了memcached client源代码,在缓存数据的同时,将KEY值信息持久化到DB中。

猜你喜欢

转载自richard-lee.iteye.com/blog/2176909