Memcache快取 總結

2021-08-02 13:19:27 字數 3817 閱讀 5108

一.memcache快取

概念:memcache是乙個高效能的分布式的記憶體物件快取系統,通過在記憶體裡維護乙個統一的巨大的hash表

到記憶體中,然後從記憶體中訪問,從而大大提高讀取速度

應用:memcache快取系統最主要的就是為了提高動態網頁的應用,分擔資料庫檢索的壓力,對於**流量比較大

的,可以使用memcache緩解資料庫的壓力,主要的焦點集中在以下兩個方面:

1.使用memcache作為中間快取層減少資料庫壓力

2.memcache分布式應用

二.安裝

然後以管理員身份啟動cmd,並切換至memcached.exe檔案所在目錄下

用黑視窗開啟資料夾 前面要帶cd 關鍵字

memcached.exe -d install   安裝

memcached.exe -d uninstall 解除安裝

memcached.exe -d start

啟動memcached.exe -d stop

停止memcached.exe -h  獲取幫助

三.telnet操作memcache

telnet 關鍵字

如果想用這個關鍵字操作一些命名 windows7下預設模式是關閉的

所以要在控制面板->程式與功能->開啟或者關閉windows功能->開啟telnet關鍵字

telnet服務端開啟 遠端可以通過這個命令來訪問主機

telnet客戶端開啟 可以遠端訪問主機 需要埠號/ip

telnet協議是tcp/ip協議族中的一員,是internet遠端登陸服務的標準協議和主要方式,他為使用者提供了

在本地計算機上完成遠端主機工作的能力,在終端使用者的電腦上使用telnet程式,用他鏈結到伺服器,終端

使用者可以在telnet程式中輸入命令,這些命令會在伺服器上執行,就像直接在伺服器的控制台上輸入一樣,

可以在本地控**務器

要開始乙個telnet會話,必須輸入使用者名稱和密碼來登陸伺服器,telnet是常用的遠端控制web伺服器的方法

鏈結到memcache

memcache快取埠號 11211

telnet 127.0.0.1 11211

退出quit

常用的命令操作

stats:當前所有memcached伺服器執行的狀態資訊

add:新增乙個資料到伺服器

add 名 壓縮標記 儲存時間 儲存長度

值在黑視窗新增資料 值 的時候必須回車另起一行來寫

set:替換乙個以存在的資料,如果資料不存在,則和add命令相同

set 名 壓縮標記 儲存時間 儲存長度

值get:從伺服器端提取指定的資料

get 名

delete:刪除指定的單個資料,如果要清除所有的資料,可以使用flush_all

delete 名

flush_all

stats cachedump 標記 顯示記錄數(0表示顯示全部):簡單的遍歷

stats items 檢視記錄

stats cachedump 1(壓縮標記) 0

stats狀態資訊

stat pid 1552                        服務程序的程序id

stat uptime 3792

服務從啟動到當前所經過的時間,單位是秒。

stat time 1262517674                 伺服器所在主機當前系統的時間,單位是秒。

stat version 1.2.6                   元件的版本。這裡是我當前使用的1.2.6。

stat pointer_size 32                 伺服器所在主機作業系統的指標大小,一般為32或64.

stat curr_items 1

表示存放當前的所有快取物件的數量。不包括已經從快取中刪除的物件。

stat total_items 2                   表示從啟動到當前,系統儲存過的所有物件數量,包括已經刪除的物件。

stat bytes 593

表示系統儲存快取物件所使用的儲存空間,單位為位元組。

stat curr_connections 2

表示當前系統開啟的連線數。

stat total_connections 28

表示從memcached服務啟動到當前時間,系統開啟過的連線的總數。

stat get_hits 2

表示獲取資料成功的次數。

stat get_misses 1

表示獲取資料失敗的次數。

stat bytes_read 1284

memcached伺服器從網路讀取的總的位元組數。

stat bytes_written 5362

memcached伺服器傳送到網路的總的位元組數。

stat limit_maxbytes 67108864         memcached服務快取允許使用的最大位元組數。預設為67108864位元組,也就是64m

四.使用php操作memcache

啟動memcache擴充套件: 基於php源生開發

鏈結memcache

memcache的增刪改查操作

安裝memcache擴充套件

將對應版本的memcache.dll檔案放到php擴充套件目錄下

修改php.ini開啟memcache庫擴充套件

extension_dir = "f:/wamp/php-5.4.45/ext"

extension=php_memcache.dll

檢測memcache庫擴充套件是否開啟成功

bool extension_loaded('mycache');

連線memcache

先例項化memcache類

例:$memcache=new memcache;

連線memcache伺服器

connect() 連線

例:ip和埠號:

$memcache->connect('127.0.0.1',11211)

關閉伺服器連線

$memcache->close()

增刪改查操作

新增 :add("名",值,是否壓縮,生存時間)

$memcache->add("test1","this is a test",false,0);

$memcache->add("test2",array("one","two"),memcache_compressed,60*60*24*30);

$memcache->add("test3",new test(),memcache_compressed,time()+60*60*24*31);

檢視:get("名")

$memcache->get("test1");

$memcache->get(array("test1","test2","test3"))

更新:set("名",值,是否壓縮,生存時間)

注:名稱存在則更新,不存在則為新增,如果只想更新可以使用replace

$memcache->set("test1","this is a test1",false,0);

刪除:delete("名" [, int $timeout = 0 ])

$memcache->delete("test1",5);

五.建立分布式memcache伺服器連線池

$memcache = new memcache;

$memcache->addserver('172.16.1.1', 11211);

$memcache->addserver('172.16.1.2', 11211);

$memcache->addserver('172.16.1.3', 11211);

memcache 快取失效

具體是通過 懶惰 機制刪除該過期資料,與過期session的刪除類似。memcache的過期資料刪除也是懶惰機制實現,如果有乙個key過期了,其本身不會馬上被刪除,而是我們呼叫get 方法獲取資料的同時會刪除該過期的資料。如果儲存的資料超過memcache最大的儲存限制 預設是64m 此時還繼續存入...

MemCache快取雪崩現象

memcache快取雪崩現象 什麼是快取的雪崩現象 快取雪崩一般是由某個快取節點失效,導致其他節點的快取命中率下降,快取中缺失的資料 memcache經典場景,當有乙個客戶端的服務請求過來的時候,首先去查memcache,memcache裡面是否快取過了這個資料,如果沒有這個資料,我們就去資料庫查詢...

Django 快取框架 memcache

0 0 原來.翻譯 gashero 目錄主要取自 memcached 的主頁。memcached是乙個高效能的 分布式記憶體物件快取系統,儘管很通用,但是用來加速web應用 降低資料庫負載時比較多。danga interactive 開發了memcached用來提高 livejournal.com ...