基于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
下一篇 2016-12-12

相關推薦

  • javascript快速入門

    標識符多了一個美元符號python中只有字母和下劃線和數字,數字不能開頭數據類型有number(整形和浮點型),boolean,string,null,undefined(聲明未賦值),symbol(新引入),object類型(基本類型和特殊類型外的其他類型) 引入一個變量要先申明,var a,let b常量類型,聲明時定義,python中不存在const …

    Linux干貨 2018-01-15
  • N25第一周作業

    第一周作業 一、計算機由硬件系統和軟件系統兩部分組成如下: 計算機硬件由CPU、內存、輸入設備、輸出設備組成。 1、中央處理器(CPU,Central Processing Unit)   CPU的功能主要是對輸入指令的判斷和運算;CPU包括運算器、控制器和寄存器三部分; (1)、運算器   執行各種算術和邏輯運算操作,計算機運行時,運算…

    Linux干貨 2016-12-05
  • 文件管理類命令詳解

    文件管理類命令詳解 文件查看 cat 功能描述:連接文件并打印到標準輸出上 命令格式:cat [OPTION]… [FILE]… OPTION: -b 對所有非空白行編號 -n 給所有輸出行編號 -s 將連續多行空白行顯示為一行空白行 -E 在每一行行尾顯示$ FILE:可顯示多個文件,文件之間以空格分隔 舉例 將file1、file…

    Linux干貨 2017-07-09
  • 用shell腳本打等腰三角新

       *   ***  ***** *******   預覽圖形 發現圖形由三個變量組成 行數n 每行的空格數a 和每行的符號數b 關系是    a=n-當前行數    b=2xn-1   并且空格都在符號前 根據關系編寫腳本 #!/bin/bash read…

    Linux干貨 2016-08-22
  • CentOS環境下,ab性能測試功具介紹及使用

    網站性能壓力測試是服務器網站性能調優過程中必不可缺少的一環。只有讓服務器處在高壓情況下,才能真正體現出軟件、硬件等各種設置不當所暴露出的問題。 性能測試工具目前最常見的有以下幾種:ab、http_load、webbench、siege。 ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務器進行網站訪問壓力測試,也可以對或其它類型…

    Linux干貨 2017-07-22
  • grub文件文件修復

    首先我們先破壞一下grub文件 這里我們先查看一下電腦是哪塊硬盤啟動的 這里我們就直接破壞硬盤的二進制數據,以達到grub的破壞。 要記住我們只能破壞前446字節,也就是bootloader。后面64字節是分區表。 我們可以查看一下前512字節的二進制文件 hexdump -C -n 512 /dev/sda 先破壞/boot/grub/stage1的前44…

    2017-07-28

評論列表(1條)

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

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

欧美性久久久久