搜尋
首頁後端開發php教程memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)

這篇文章帶給大家的內容是關於memcache(記憶體快取技術)對php頁面存取的速度影響(圖文),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

一、Memcache簡介
記憶體快取技術:memcache是​​實現php語言對記憶體進行操作的中間媒體

MemCache的工作流程如下:先檢查客戶端的請求資料是否在memcached中,如有,直接把請求資料傳回,不再對資料庫進行任何操作;如果要求的資料不在memcached中,就去查資料庫,把從資料庫中取得的資料回傳給客戶端,同時把資料快取一份到 memcached中(memcached客戶端不負責,需要程式明確實現);每次更新資料庫的同時更新memcached中的數據,保證一致性;當分配給memcached記憶體空間用完之後,會使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效資料先被替換,然後再替換掉最近未使用的資料

memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
二、Memcache和memcached的差異

Memcache是​​這個專案的名稱,而memcached是它伺服器端的主程式檔案名稱。

四、Memcache的伺服器端和客戶端安裝(向php中新增模組):
1. 解壓縮memcache原始碼包:

tar axf memcache-2.2.5.tgz

2. 將前邊php編譯完成的二進位指令加入環境變數中,保證可以直接呼叫php指令

vim /root/.bash_profil
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/nginx/sbin:/usr/local/lnmp/php/bine
source /root/.bash_profile

3.建立一個預編譯環境並進行編譯彙編memcache原始碼包
phpize是用來擴充php擴充模組的,透過phpize可以建立php的外掛模組,例如你想在原來編譯好的php中加入memcached或ImageMagick等擴充模組,可以讓phpize。
或說,phpize的作用可以這樣理解:偵測環境(phpize工具是在php安裝目錄下,基於這點phpize對應了當時的php環境,所以是要根據該php的配置情況產生對應的configure文件),建立一個configure檔。必須在一個目錄下去運行phpize。那麼phpize就知道你的環境是哪個目錄,而且configure檔建立在該目錄下。
memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)

cd memcache-2.2.5   phpize
./configure              # 源码编译,已经安装好了php,我们就不用再指定新的php扩展模块路径make  
make install

5.編譯完成後,提示我們進入php/extensions/no-debug-non-zts-20131226/目錄,在這個目錄中的我們可以查看php中已經加入的模組,發現還沒有我們的memcache模組,因此我們去到php的設定檔中加入memcache模組。

cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/
ls
php -m | grep memcache       过滤memcache模块,发现现在还没有
cd /usr/local/lnmp/php/etc/   
vim php.ini                  # 编辑php的配置文件873 
extension=memcache.so    # 将873行memcache模块的注释打开
/etc/init.d/php-fpm reload  # 重载php
php -m | grep memcache       # 再次过滤memcache模块

memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
6.安裝memcache服務端

yum install memcached           # 安装memcached服务端
/etc/init.d/memcached start     # 打开memcached服务
netstat -antlp   # memcached监听11211端口

memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)

cd memcache-2.2.5rpm -q memcached        # 查看memcached的配置文件

7.設定memcached的密碼

cd /usr/local/lnmp/nginx/html/
vim example.php  # 仅仅查看,是php代码
vim memcache.php

memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
访问example.php:
memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
访问memcache.php:
memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
输入密码后:(右边可以看到HIT命中率)
memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
8.访问测试,查看安装了memcache模块后,再浏览器处访问安装了memcache和未i安装memcache的网也,查看性能的变化
(1)访问 index.php后,我们可以分析一下浏览器的并发行和出错情况
memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
处理情况:
memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
可以看到每秒处理的访问请求为384个,出错个数为84个
(2)按照同样的测试方法,我们测试访问example.php
memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)
可以看到每秒处理的访问请求为940个,出错个数为0个,速度提高了将近三倍,错误率大大降低
(3)在浏览器处多次访问example.php,查看命中情况为百分之百。

memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)

相关文章推荐:

Nginx中的Rewrite伪静态法则的讲解(详细)

Nginx配置PHP的详细步骤

以上是memcache(記憶體快取技術)對php頁面存取的速度影響(圖文)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
可以在PHP會話中存儲哪些數據?可以在PHP會話中存儲哪些數據?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,數字,數組和原始物。

您如何開始PHP會話?您如何開始PHP會話?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

什麼是會話再生,如何提高安全性?什麼是會話再生,如何提高安全性?May 02, 2025 am 12:15 AM

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

使用PHP會話時有哪些性能考慮?使用PHP會話時有哪些性能考慮?May 02, 2025 am 12:11 AM

PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHP會話與Cookie有何不同?PHP會話與Cookie有何不同?May 02, 2025 am 12:03 AM

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用