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