Jquery中文網 www.prqmtc.live
Jquery中文網 >  數據庫  >  mysql  >  正文 Memcache與MySQL同是使用的配置詳解

Memcache與MySQL同是使用的配置詳解

發布時間:2017-12-13   編輯:www.prqmtc.live
jquery中文網為您提供Memcache與MySQL同是使用的配置詳解等資源,歡迎您收藏本站,我們將為您提供最新的Memcache與MySQL同是使用的配置詳解資源
Memcache與MySQL在許多站長來處理是都是分開使用的,今天我們來看一篇關于Memcache與MySQL同是使用的配置教程,具體如下。

1.基礎

   memcache是一個高性能的分布式的內存對象緩存系統,通過在內存里維護統一的巨大的hash表,它能夠用來存儲Sessio,當系統需要是從內存中讀取,從而大大提高讀取速度。OSSIM 4.1以后的所有系統中,采用了Memcached這個高性能的內存對象緩存系統,用于動態Web應用,主要對OSSIM各個數據庫讀寫進行緩存,以減輕MySQL數據庫的負載,配置文件讀者參考/usr/share/ossim/include/ossim_db.inc、/usr/share/ossim/include/php-ids.ini。用這種方式也是OSSIM的緩存方案之一。讀者或許會產生疑問,MySQL本身既有table_cache、query_cache機制,我們用以下命令在數據庫中查看:

mysql> show variables like '%query_cache%'
------------------------------ ----------
| Variable_name                | Value    |
------------------------------ ----------
| have_query_cache             | YES      |
| query_cache_limit            | 1048576  |
| query_cache_min_res_unit     | 4096     |
| query_cache_size             | 16777216 |
| query_cache_strip_comments   | OFF      |
| query_cache_type             | ON       |
| query_cache_wlock_invalidate | OFF      |
------------------------------ ----------
7 rows in set (0.00 sec)

 

   在查詢經常變化、表內容經常變化的場景中(OSSIM的存儲、查詢就是這樣一種狀態)這個樣一個簡單的緩存系統根本無法達到有效緩解數據庫壓力的目的。這就好比在Apache中提供的mod_disk_cache和mod_mem_cache無法真正為Web Server提供緩存樣,后面還需要Squid等緩存工具。
   memcache通過在內存中緩存數據和對象來減少讀取數據庫的次數,所以為OSSIM系統提供更大的內存,有助于發揮memcache的作用,從而提高整體性能。另外為了能夠可視化的觀察緩存效果,大家可以使用phpMemcachedAdmin工具來查看,圖1、圖2、圖3是其監控效果。

 

配置memcached: 

/etc/default/memcached       /*控制開啟*/
/etc/memcached.conf           /*配置memcached參數*/
Ossim調用memcache,端口11211的配置文件/usr/share/ossim/www/forensics/includes/base_db.inc.php
/usr/share/php/adodb/adodb.inc.php
/usr/share/php/adodb/adodb-memcache.lib.inc.php

2. 查看memcache狀態

下面我們采用telnet命令測試memcache工作狀態,首先輸入以下命令:
#telnet  127.0.0.1  11211
 注意,Ossim Server默認沒有telnet需要自己安裝,后面的”11211”代表memcache通選端口。
然后,直接輸入“stats”命令就可以得到當前memcache狀態。如表1所示。

<span xml:lang="en-us">表1 memcache狀態信息</span>

wKiom1YF2FCiGudzAAL8IRn25k4674.jpg如果需要將緩存重置到干凈狀態則輸入“flush_all”命令。


4.使用memcache存儲Session


    Apache服務器的PHP Session都給Memcached ,這樣無論把 IP連接分給哪個Web服務器都不會有問題,配置方法很簡單,就在PHP的配置文件內增加一條語句就可以了,不過前提需要裝好memcache模塊用memcache 來存儲 session 在讀寫速度上會比 files 時快很多,而且在多個服務器需要共用 session 時會比較方便,將這些服務器都配置成使用同一組 memcached 服務器就可以,減少了額外的工作量。缺點是 session 數據都保存在 memory 中,持久化方面有所欠缺,但對 session 數據來說也不是很大的問題。


  注意,在OSSIM系統中采用memcache的目的是提高訪問速度,減小MySQL數據庫的壓力。通過修改/etc/default/memcached配置文件中ENABLE_MEMCACHED=yes/no控制其開關。

您可能感興趣的文章:
Memcache與MySQL同是使用的配置詳解
Drupal中如何配置及利用Memcache的hash策略
centos5.4下mysql主從復制配置分享
ubuntu下mysql配置
MySQL雙機高可用的負載均衡(讀寫分離、主從自動切換)架構設計
配置MySQL 5.0的復制(Replication)的詳解
MySQL實現實時備份的配置過程詳解
簡單介紹Memcache 安裝、配置、監控
同一臺服務器上安裝兩個mysql的教程
FreeBSD 4.10 下 bind-9.3.2 + mysql-4.1.9 配置詳解

[關閉]
一分赛车计划app