国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

使用Memcache緩存mysql數(shù)據(jù)庫(kù)操作的原理和緩存過(guò)程淺析

2020-01-18 23:12:46
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

對(duì)于大型網(wǎng)站如facebook,ebay等網(wǎng)站,如果沒(méi)有Memcache做為中間緩存層,數(shù)據(jù)訪(fǎng)問(wèn)不可能吃得消,對(duì)于一般網(wǎng)站,只要具備獨(dú)立的服務(wù)器,完全可以通過(guò)配置Memcache提高網(wǎng)站訪(fǎng)問(wèn)速度和減少數(shù)據(jù)庫(kù)壓力,這里主要討論一下Memcache和MySQL數(shù)據(jù)庫(kù)交互過(guò)程的流程關(guān)系,了解Memcache的中間緩存層作用,從而深入了解Memcache機(jī)制原理。

Memcache和MySQL交互流程圖

如上圖,傳統(tǒng)的查詢(xún)方法是直接查詢(xún)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)將結(jié)果返回給查詢(xún)語(yǔ)句,而當(dāng)有Memcache中間緩存層時(shí),查詢(xún)的是Memcache緩存數(shù)據(jù),下面詳細(xì)了解Memcache各類(lèi)數(shù)據(jù)操作原理:

1. 查詢(xún)數(shù)據(jù)(select),首先通過(guò)指定的Key查詢(xún)(get)Memcache中間緩存層數(shù)據(jù),如果存在相對(duì)應(yīng)數(shù)據(jù),則直接獲取出數(shù)據(jù)結(jié)果,查詢(xún)過(guò)程完全不需要查詢(xún)數(shù)據(jù)庫(kù)。如果不存在,則查詢(xún)MySQL數(shù)據(jù)庫(kù),并以key對(duì)應(yīng)value的形式將查詢(xún)結(jié)果存儲(chǔ)在Memcache緩存數(shù)據(jù)中,然后將結(jié)果返回給查詢(xún)語(yǔ)句。
2. 更新數(shù)據(jù)(update),首先更新數(shù)據(jù),然后刪除相關(guān)的memcache數(shù)據(jù)(delete)。
3. 增加數(shù)據(jù)(add),首先刪除相關(guān)緩存數(shù)據(jù),然后增加數(shù)據(jù)。
4. 刪除數(shù)據(jù)(delete),刪除數(shù)據(jù),并刪除Memcache數(shù)據(jù)。

對(duì)MySQL的數(shù)據(jù)操作,主要涉及到的Memcache方法如下:

1. 獲取:get(key)
2. 設(shè)置:set(key, value [, expiry])
3. 刪除:delete(key [, time])

實(shí)例:
假設(shè)一個(gè)貼子,獲取貼子ID為2009的值,其Memcache與MySQL交互流程如下:

復(fù)制代碼 代碼如下:

$key = ‘biuuu_thread_';//key前綴
$cachetime = 100;//緩存有效時(shí)間(秒)
$id = 2009;

Memcache基本操作過(guò)程

1. 查詢(xún):$result = get($key.$id);如果$result為空,則查詢(xún)MySQL數(shù)據(jù)庫(kù),然后set($key.$id,$value,0,$cachetime)
2. 更新:delete($key.$id);
3. 增加:delete($key.$id);
4. 刪除:delete($key.$id);

通過(guò)直觀圖和實(shí)例應(yīng)該對(duì)Memcache與MySQL的交互有一個(gè)基礎(chǔ)的掌握,其實(shí)對(duì)于應(yīng)用來(lái)說(shuō),基本上就已經(jīng)足夠,但如果要涉及到命名空間等相對(duì)復(fù)雜的情況,Memcache的操作方式會(huì)有所不同,但不管什么樣的操作,還是離不開(kāi)基礎(chǔ)操作命令,由于這是Memcache基礎(chǔ)篇,主要是討論Memcache和mysql交互操作流程,當(dāng)Memcache原理清楚以后,Memcache基本操作就是這么簡(jiǎn)單。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 荥阳市| 禄丰县| 武清区| 辽宁省| 甘德县| 民乐县| 万安县| 大田县| 通州区| 安义县| 商丘市| 南漳县| 上蔡县| 定南县| 太仆寺旗| 兴文县| 会昌县| 蓬溪县| 淮北市| 皮山县| 焦作市| 本溪| 安义县| 巫山县| 青海省| 东乡县| 鸡东县| 云霄县| 上高县| 江都市| 灵璧县| 承德县| 常德市| 嘉荫县| 临西县| 光山县| 靖安县| 宜昌市| 龙州县| 县级市| 屏东县|