惯例科普:MemCache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。这是一套开放源代码软件,以BSD license授权发布。
MemCache 官网:http://memcached.org/
安装步骤:
1、下载安装MemCache服务。
2、安装MemCache可视化监视工具MemCacheD Manager。
3、下载Net类库,使用MemCache。
4、Nodejs使用MemCache。
具体实施
1、下载安装MemCache服务。
下载最新的x64位MemCache地址:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available,把文件memcached-win64-1.4.4-14.zip里面的文件解压到“C:\Program Files\MemCacheD”目录,如图:
然后进入CMD分别执行以下命令:
cd C:\Program Files\MemCacheD
memcached.exe -d install
memcached.exe -d start
安装完成执行:
memcached.exe -h
如果出现以下截图,证明安装成功:
2、安装MemCache可视化监视工具MemCacheD Manager。
最新版下载地址:http://memcached-manager.software.informer.com/
安装memcachedmanager_1_0_3_0.msi到电脑,如图添加Add Server,配置服务名称,MemCache的路径,如图:
点击Apply保存,点击Add Instance配置端口等进行设置,如图,完成之后点击Apply保存:
注意端口号,不要使用被占用的,如果图标是绿色的证明,运行正常,点击Status查看缓存运行状况,如图:
3、下载Net类库,使用MemCache。
Net使用类库下载地址:http://sourceforge.net/projects/memcacheddotnet/
解压memcacheddotnet_clientlib-1.1.5.zip,使用目录 ..\memcacheddotnet_clientlib-1.1.5\memcacheddotnet\trunk\clientlib\src\clientlib\bin\2.0\Release下的Memcached.ClientLibrary.dll文件,添加net引用,写入代码,进行调用测试,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Memcached.ClientLibrary; //--------------引用 public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //参数设置 string SockIOPoolName = "demo"; string[] MemcacheServiceList = { "127.0.0.1:11216" }; //设置连接池 SockIOPool SPool = SockIOPool.GetInstance(SockIOPoolName); SPool.SetServers(MemcacheServiceList); SPool.Initialize(); //实例化Client MemcachedClient MClient = new MemcachedClient(); MClient.PoolName = SockIOPoolName; MClient.Add("", "Hello World"); Response.Write("缓存的值:" + MClient.Get("Key1001")); } } }
输出结果,如图:
说明:有一个缓存“Key1001”值为“Hello World”~
4、Nodejs使用MemCache。
创建nodejs项目为Express 4.x框架,安装cacher-memcached组件,控制器写代码调用,官方使用API:https://www.npmjs.com/package/cacher-memcached
调用代码如下:
router.get('/', function (req, res, next) { var Memcached = require('cacher-memcached'); var cacher = new Memcached("192.168.20.135:11216", {}); cacher.set("key01", "testValue1",10); cacher.get('key01', function(err, val) { console.log("MemCache取值为:" + val); }); res.render('index', {title: "cacher-memcahced测试~"}); });
运行的结果,如图:
说明取值成功。到此完结!