memcache在項目中的應用

一 ?安裝memcache

具體流程這篇文章有寫到: 點擊?鏈接

?

二 在項目中應用memcache

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

原理:

我們將sql md5轉換成32位字符串,作為key存到memcache, 并將sql查詢的結果data作為對應的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);

?

結果是可以正常顯示的

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)

分析:

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

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

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

這樣,我們就完成了基本的memcache在項目中的應用

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282607.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282607.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282607.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

點擊回退按鈕刷新頁面

瀏覽器用戶返回上一步&#xff0c;自動刷新window.οnunlοadfunction(){} 這個最簡單粗暴 方式一、<input type"hidden" id"refreshed" value"no"><script type"text/javascript">οnlοadfunction(){var edocument.getE…

Dapr 證書過期了怎么辦? 別慌,有救!

一、背景Dapr 默認證書有效時間是1年&#xff0c;證書過期后就不能執行相關控制面和數據面的交互了&#xff0c;如下圖&#xff1a;二、查看證書有效時間通過dapr mtls expiry 看到期時間&#xff0c;具體參見命令https://v1-7.docs.dapr.io/reference/cli/dapr-mtls/dapr-mtls…

python數據類型之間的轉換

對python內置的數據類型進行轉換時&#xff0c;可以使用內置函數&#xff0c;常用的類型轉換函數如下 python常用類型轉換函數函數格式使用示例描述int(x [,base])int("8") 可以轉換的包括String類型和其他數字類型&#xff0c;但是會丟失精度 float(x) float…

js高級程序設計的筆記(一)

2019獨角獸企業重金招聘Python工程師標準>>> 1.js中的 null : 如果只意在保存對象的變量還沒有真正的保存對象之前&#xff0c;就需要先把該變量保存 null值&#xff0c; null代表空對象的指針 2.函數的參數對象 arguments的理解。 argument對象的length屬性 實例 f…

Redis在PHP項目中的應用

一 運行redis服務端 出現上圖的圖形,就說明redis服務端開啟成功,并且開啟了密碼功能(如果不加載配置文件,連接redis是不需要密碼的,這樣,會給我們的程序帶來很大隱患) 密碼的設置: 在redis配置文件中,搜索requirepass ,后面設置密碼 比如 : requirepass G506myredis 則表示此…

Linux關機、重啟命令

關機shutdown -h 0 #<O秒后關機shutdown -h now #<現在關機shutdown -h 10 #<10分鐘后關機shutdown -h 23:20 #<23&#xff1a;20分關機shutdown -c #<取消shutdown關機命令init 0 #<立馬關機&#xff08;切換運行級別為0&#xff0c;推薦使用&#xff09;ha…

Python 模塊之 string.py

用法 字符串常量&#xff1a; import string print(string.ascii_lowercase) print(string.ascii_uppercase) print(string.ascii_letters) print(string.digits) print(string.hexdigits) print(string.octdigits) print(string.punctuation) print(string.printable)結果 abc…

md5和password_hash孰好孰壞

md5自不必說,想必所有phper都用過,但另一個加密函數不知道你見過沒有 他就是password_hash(); 加密方式更全面.使用起來也比md5salt這種方式要簡潔很多,最主要的是難破解,因為它每時每刻都在變動 它的使用方式大致是這樣 1. 用戶注冊時提交過來密碼,我們對用戶密碼進行加密…

Logstash 命令行參數

Logstash 提供了一個 shell 腳本叫 logstash 方便快速運行。它支持以下參數&#xff1a; -e意即執行。我們在 “Hello World” 的時候已經用過這個參數了。事實上你可以不寫任何具體配置&#xff0c;直接運行 bin/logstash -e ” 達到相同效果。這個參數的默認值是下面這樣&…

上汽拒絕HW符合商業邏輯

不久前&#xff0c;上汽董事長陳虹表示“與HW合作自動駕駛是不可接受的。這就好比一家公司為我們提供整體的解決方案&#xff0c;如此一來&#xff0c;它就成了靈魂&#xff0c;而上汽就成了軀體。對于這樣的結果&#xff0c;上汽是不能接受的&#xff0c;要把靈魂掌握在自己手…

javac compiling error ( mising package)

javac 編譯java源文件時&#xff0c;提示 package does not exist 的錯誤 Test.java import java.security.MessageDigest; import org.apache.commons.codec.binary.Hex;public class Test{public static void main(String args[]){boolean isAlarmed true;boolean aa isAla…

使用ffmpeg錄音

官方教程&#xff1a;http://ffmpeg.org/ffmpeg.html 錄音方法&#xff1a; 開始找到了這個方法&#xff0c;但是不行呀&#xff0c;好像是沒有這個oss吧。 oss 是linux 下的聲音相關的東西&#xff0c;與alsa 一樣&#xff0c;不過oss 是商業的&#xff0c; 而/dev/dsp 是oss …

Mysql慢查詢日志的使用 和 Mysql的優化

一、生成實驗數據 原理&#xff1a;sql 蠕蟲復制&#xff08;這種生成數據方式同樣適用于數據表中有主鍵的情況&#xff09;。 insert into comic (name,pen_name,cover) select name,pen_name,cover from comic 二、慢查詢日志設置 當語句執行時間較長時&#xff0c;通過日…

Oracle 12C CDB、PDB常用管理命令

--查看PDB信息&#xff08;在CDB模式下&#xff09; show pdbs --查看所有pdb select name,open_mode from v$pdbs; --v$pdbs為PDB信息視圖 select con_id, dbid, guid, name , open_mode from v$pdbs; --切換容器 alter session set containerorcl1 --切換到PDBorcl1容器…

指定時間的月初和月末一天的寫法

DateTime dt Convert.ToDateTime("2017-2");DateTime FirstDay new DateTime(dt.Year, dt.Month, 1);//本月初1號DateTime LastDay new DateTime(dt.AddMonths(1).Year, dt.AddMonths(1).Month, 1).AddDays(-1);//下月初1號減一天本月底 轉載于:https://www.cnblo…

mysql數據表設計要點以及快門

一個sql表的設計首先要考慮的是字段 然后去考慮這個字段應該具有哪些特性, 最后,考慮哪些字段經常用于查詢,設置為索引 下面是一個比較簡單的例子,大概說明了怎么樣去構造sql語句創建一個sql表 create table user_message( id int UNSIGNED not null auto_increment COMMEN…

分享實錄|區塊鏈技術與智能合約入門(開發實例)

1 什么是區塊鏈 1.1白話講解區塊鏈 現在區塊鏈特別火&#xff0c;可能大家都聽說過區塊鏈&#xff0c;聽說過比特幣&#xff0c;那到底什么是區塊鏈&#xff1f; 前幾天和一個朋友擼串&#xff0c;我給他安利區塊鏈和比特幣以及一些數字貨幣的知識&#xff0c;這個朋友也是一個…

大型網站技術架構:核心原理與案例分析筆記

1.大型網站軟件系統的特點&#xff1a; 高并發&#xff0c;大流量  高可用 海量數據  用戶分布廣泛&#xff0c;網絡情況復雜  安全環境惡劣  需求快速變更&#xff0c;發布頻繁  漸進式發展  2.大型網站演變架構 1)初步應用&#xff1a;數據&#xff08;數據…

1777:文件結構“圖”

1777:文件結構“圖” 查看提交統計提問總時間限制: 1000ms內存限制: 65536kB描述在計算機上看到文件系統的結構通常很有用。Microsoft Windows上面的"explorer"程序就是這樣的一個例子。但是在有圖形界面之前&#xff0c;沒有圖形化的表示方法的&#xff0c;那時候最…

thinkphp出現Call to undefined function Think\C() in ... online 313

造成這個問題的原因很多,在這里我只說明我自己遇到之后解決的辦法 我將functions.php改成了function.php之后,修改了一些其他無關緊要的東西出現了這個問題,來回排查,各種嘗試,最后,將function.php改回functions.php,可以正常運行