日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

memcache在项目中的应用

發(fā)布時(shí)間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 memcache在项目中的应用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一 ?安裝memcache

具體流程這篇文章有寫到: 點(diǎn)擊?鏈接

?

二 在項(xiàng)目中應(yīng)用memcache

為了減輕數(shù)據(jù)庫的查詢壓力,所以我們把一些不經(jīng)常變動(dòng)的數(shù)據(jù)進(jìn)行緩存,用戶查詢時(shí),如果查詢的要求是一樣的,我們就memcache緩存中讀取數(shù)據(jù)并返回去,如果查詢要求變了,我們再到數(shù)據(jù)庫中查詢,并將查詢結(jié)果緩存到memcache,以備下次有同樣需求的時(shí)候,可以直接從memcache緩存中取出數(shù)據(jù)

原理:

我們將sql md5轉(zhuǎn)換成32位字符串,作為key存到memcache, 并將sql查詢的結(jié)果data作為對(duì)應(yīng)的value存到memcache

代碼部分:

function inquiry($sql,Memcache $memcache) {$key = md5($sql);$data = $memcache->get($key);if(!$data) {try {$pdo = new PDO('mysql:dbname=test;host=localhost','root','root');} catch (PDOException $e){die("連接失敗:".$e->getMessage());}$stmt = $pdo->prepare($sql);$stmt->execute();$data = $stmt->fetchAll(2);$memcache->add($key,$data,MEMCACHE_COMPRESSED,0);}Return $data;}$memcache = new Memcache;$memcache->connect('localhost',11211);$data = inquiry('select id,name,age,sex,edu,salary,city from student ',$memcache);Var_dump($data);

?

結(jié)果是可以正常顯示的

array (size=39)0 => array (size=7)'id' => string '1' (length=1)'name' => string '周更生' (length=9)'age' => string '24' (length=2)'sex' => string '男' (length=3)'edu' => string '大專' (length=6)'salary' => string '5000.00' (length=7)'city' => string '山東省' (length=9)1 => array (size=7)'id' => string '2' (length=1)'name' => string '王小平' (length=9)'age' => string '28' (length=2)'sex' => string '男' (length=3)'edu' => string '大專' (length=6)'salary' => string '500.00' (length=6)'city' => string '陜西省' (length=9)2 => array (size=7)'id' => string '3' (length=1)'name' => string '周改娟' (length=9)'age' => string '28' (length=2)'sex' => string '女' (length=3)'edu' => string '大專' (length=6)'salary' => string '8000.00' (length=7) (size=39)0 => array (size=7)'id' => string '1' (length=1)'name' => string '周更生' (length=9)'age' => string '24' (length=2)'sex' => string '男' (length=3)'edu' => string '大專' (length=6)'salary' => string '5000.00' (length=7)'city' => string '山東省' (length=9)1 => array (size=7)'id' => string '2' (length=1)'name' => string '王小平' (length=9)'age' => string '28' (length=2)'sex' => string '男' (length=3)'edu' => string '大專' (length=6)'salary' => string '500.00' (length=6)'city' => string '陜西省' (length=9)2 => array (size=7)'id' => string '3' (length=1)'name' => string '周改娟' (length=9)'age' => string '28' (length=2)'sex' => string '女' (length=3)'edu' => string '大專' (length=6)'salary' => string '8000.00' (length=7)

分析:

第一次從數(shù)據(jù)庫中查詢出數(shù)據(jù),顯示到瀏覽器,并將md5(sql)和查詢結(jié)果data存儲(chǔ)到memcache緩存中

第二次直接從緩存中讀取出數(shù)據(jù),顯示到瀏覽器

注: 我們也可以登錄memadmin 去查看是否將結(jié)果存到了memcache中。軟件地址:【memcache客戶端可視化管理軟件】?

這樣,我們就完成了基本的memcache在項(xiàng)目中的應(yīng)用

?

總結(jié)

以上是生活随笔為你收集整理的memcache在项目中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。