惯例科普: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 FilesMemCacheD”目录,如图:
然后进入CMD分别执行以下命令:
代码语言:javascript复制cd C:Program FilesMemCacheD
安装完成执行:
代码语言:javascript复制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.5memcacheddotnettrunkclientlibsrcclientlibbin2.0Release下的Memcached.ClientLibrary.dll文件,添加net引用,写入代码,进行调用测试,代码如下:
代码语言:javascript复制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
调用代码如下:
代码语言:javascript复制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测试~"});
});
运行的结果,如图:
说明取值成功。到此完结!