基于LNMP架構添加Memcached支持,并驗證其緩存結果

一 Memcached簡介

Memcached是一個自由開源的,高性能,分布式內存對象緩存系統。它是一種基于內存的key-value存儲,用來存儲小塊的任意數據(字符串、對象)。這些數據可以是數據庫調用、API調用或者是頁面渲染的結果。

Memcached簡潔而強大。它的簡潔設計便于快速開發,減輕開發難度,解決了大數據量緩存的很多問題。它的API兼容大部分流行的開發語言。本質上,它是一個簡潔的key-value存儲系統。

一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。

特征:

  1. 協議簡單;

  2. 基于libevent的事件處理;

  3. 內置內存存儲方式;

  4. memcached不互相通信的分布式。

Memcached常用選項:

-l <ip_addr>:監聽的地址
-m <num>:緩存空間大小,單位為MB, 默認為64
-c <num>:最大并發連接數,默認為1024
-M:緩存空間耗盡時,向請求者返回錯誤信息,而不是基于LRU算法進行緩存清理
-f <factor>:growth factor, 增長因子
-t <threads>:處理用于請求的線程數

二 基于LNMP架構添加Memcached支持并驗證其結果

1. 架構示意圖

1.png

2. 實驗環境

IP 功用
192.168.237.129 nginx
192.168.237.131 php-fpm+mariadb+memcached

3. 實驗步驟

Nginx, PHP-FPM和MariaDB安裝在此忽略。

(1) Memcached安裝

#安裝Memcached
yum -y install memcached
#啟動Memcached
memcached -d -m 1024 -u memcached

連接測試

telnet 192.168.237.131 11211

2.png

查看Memcached信息

4.png

(2) 安裝PHP的Memcached的擴展

php連接memcached服務的模塊有兩個,php-pecl-memcache和php-pecl-memcached.若要安裝php-pecl-memcached需要依賴libmemcached程序包,可以提供相應操作查看memcached的工具。在這里為方便演示就直接使用php-pecl-memcache擴展模塊。

#安裝PHP的Memcached擴展模塊
yum -y install php-pecl-memcache

測試PHP是否已支持Memcached, 瀏覽器中輸入http://192.168.237.129/index.php

3.png

(3) 測試Memcached緩存

#在nginx根目錄下寫入php測試腳本
vim /usr/share/nginx/html/test.php
<?php
$mem = new Memcache;
$mem->connect("192.168.237.131", 11211);   #連接Memcached

$version = $mem->getVersion();
echo "Server's version: ".$version."<br/>\n";   #輸出Memcached版本信息

$mem->set('testkey', 'Hello World', 0, 600);   #向Memcached存儲數據'Hello World',時間為600s
echo "Store data in the cache (data will expire in 600 seconds)<br/>\n";   

$get_result = $mem->get('testkey');   #獲取testkey的值
echo "$get_result is from memcached server.";
?>

測試Memcached緩存結果,在瀏覽器中輸入192.168.237.129/test.php

5.png

可以看出緩存已生效,再查看Memcached相應信息

6.png

原創文章,作者:N25_zzc,如若轉載,請注明出處:http://www.www58058.com/63428

(0)
N25_zzcN25_zzc
上一篇 2016-12-12 17:25
下一篇 2016-12-12 18:24

相關推薦

  • Linux文件和目錄管理

    Linux目錄和文件管理 Linux文件信息詳述 文件數據存儲在塊中 文件元數據存儲在inode中 文件名和其對應的inode號碼存儲在目錄項中 數據塊的概念: 文件在硬盤上的最小存儲單位叫做扇區,1扇區=512字節,操作系統讀取硬盤的時候不會一個一個讀,這樣太慢,會一次連續讀多個扇區,即一個讀取一個“塊”,常見的 1塊=八個扇區=4kB inode的概念:…

    Linux干貨 2016-11-04
  • Linux網絡配置基礎二(網絡模塊與nmcli命令)

    Linux網絡配置基礎二 相關命令 lsmod命令 lsmod命令用于顯示已經加載到內核中的模塊的狀態信息。執行lsmod命令后會列出所有已載入系統的模塊。Linux操作系統的核心具有模塊化的特性,應此在編譯核心時,務須把全部的功能都放入核心。您可以將這些功能編譯成一個個單獨的模塊,待需要時再分別載入。第一列:表示模塊的名稱第二列:表示模塊的大小第三列:表示…

    Linux干貨 2016-09-09
  • LNMP 增加memcached緩存系統 構建LNMMP

    摘抄百度百科 memcache 的解讀 memcache是一套分布式的高速緩存系統,由LiveJournal的Brad Fitzpatrick開發,但目前被許多網站使用以提升網站的訪問速度,尤其對于一些大型的、需要頻繁訪問數據庫的網站訪問速度提升效果十分顯著[1]  。這是一套開放源代碼軟件,以BSD license授權發布。 MemCa…

    Linux干貨 2016-09-19
  • linux系統基礎目錄結構及功能說明

    linux系統基礎目錄結構及功能說明 [root@localhost /]# ls bin boot dev etc home host lib lib64 media mnt opt proc root run sbin srv sys tmp usr var /bin:所有用戶可用的基本命令程序文件;/sbin:供系統管理使用的工具程序;/boot:引導…

    Linux干貨 2018-03-04
  • Linux shell之bash特性大全詳解(持續更新ing)

    一、shell是什么?     Shell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一種命令語言,又是一種程序設計語言。作為命令語言,它交互式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變量和參數,并提供了許多在高級語言中…

    Linux干貨 2016-03-09
  • liunx文本處理三劍客及文本處理工具的使用與練習。

    linux文本處理三劍客: grep ==擅長過濾,把想要的或者不想要的分離開。linux三劍客 老三  -A: 除了顯示匹配的一行之外,并顯示該行之前的num行;-B:除了顯示匹配的一行之外,并顯示該行之后的num行;-C:除了顯示匹配的一行之外,并顯示該行之前后各num行     sed==擅長取行、替換。三劍客老…

    2017-07-28

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 16:30

    搭建過程能詳細總結下會更好~~加油~

欧美性久久久久