慣例科普: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測試~"}); });
運行的結果,如圖:
說明取值成功。到此完結!