亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > 管理維護 > 正文

memcachedb的緩存解決方案

2024-09-10 14:19:01
字體:
來源:轉載
供稿:網友

問題示例:
網站有千萬個網頁文件需要存儲,占用空間大約有300-400G,導致問題:
1 小文件太多,備份困難
2 空間增長很難調整
3 前端做緩存,因為object很高,效率很低,squid和lighttpd都不合適

解決方案說明:

1 nginx+memcached接口

Nginx有一個模塊是可以讀取memcached的數據的,可以把網頁文件內容保存到memcached里面,如果數據無效,則proxy到后端,后端服務器更新此數據

2 memcachedb接口

memcachedb是新浪的一個開源項目,用硬盤作為存儲空間,用的是Berkeley DB的存儲引擎,memcached的協議。
有memcached的方便性,同時有高效的讀寫性能,沒有內存作為存儲空間的限制,數據永久保留,同時使用局域網的機器就可以處理并且很容易共享,不限制為本地文件,有自動的備份機制。

3 php程序管理存儲

php處理memcached很容易,和前端約定相應的key即可

4 計劃任務處理更新

由于memcachedb是永久保存,前端無法判斷是否過期,所以需要自己制定策略刪除過期的網頁,以便前端獲取不到而自動更新

5 magent作為memcachedb的代理接口,解決備份問題

memcachedb有備份方法,我碰到過出現無法同步的情況,magent也可以幫助解決此問題,它是為memcached設計的,但由于memcachedb使用memcached協議,所以也同樣適用

解決方案配置示例:

假設www.aslibra.com/article/xxx 地址需要使用此方案,那就可以用服務器A(2)和B(3)作為memcachedb服務,可以在A(2)上跑magent,C(4)服務器是后端服務器,負責存入memcachedb數據

前端Nginx配置判斷:

 

upstream backend {
  server 192.168.1.4;
}
upstream memcachedb {
  server 192.168.1.2:11212;
  server 192.168.1.3:11212 backup;
}
server {
  server_name  www.aslibra.com;
  location / {
    proxy_pass http://backend;
  }
  location ~* ^/article/ {
    set $memcached_key $host$uri;
    default_type       text/html;
    memcached_pass     memcachedb;
    error_page         404 = /fallback;
  }
  location = /fallback {
    internal;
    proxy_set_header  memcached_key $memcached_key;
    proxy_pass http://backend;
  }
}



定義了memcachedb的upstream,有一個是backup標識的
/article/的請求會先查詢memcachedb,找不到再發送到后端服務器
注意 proxy_set_header  memcached_key $memcached_key 這句,可以保持key值的一致性
對于中文出現在地址的情況很實用,后端使用$_SERVER['REQUEST_URI'] 會和 $uri 不一致

A和B緩存服務器:

 

memcachedb -p 11212 -l 0.0.0.0 -u root -d -r -N -H /data/aslibra.com/article/



如果配置主從,那可以啟用magent:

 

magent -s 192.168.1.2:11212 -b 192.168.1.3:11212
#默認監聽 0.0.0.0:11211,提供給PHP使用
#比如這里是在192.168.1.2上運行



C服務器配置rewrite(lighttpd):

 

$HTTP["host"] == "www.aslibra.com" {
        server.document-root = "/data/www.aslibra.com/"
        url.rewrite-once = (
                "^/article" => "/php/cache.php"
        )
}



PHP代碼參考:

 

<?
//do sth to build html
echo $html;

//如果有傳遞memcached_key值就把結果存入memcachedb
//不需要設置緩存時間,因為沒有用 :)
//有需要更新,那就記錄一下日志
if($_SERVER['HTTP_MEMCACHED_KEY']){
  $m = new Memcache;
  if($m->connect('192.168.1.2', 11211) ){
    $key = $_SERVER['HTTP_MEMCACHED_KEY'];
    $m->set($key, $html);
    //有必要就記日志
    //log to file...
  }
}
?>



刪除文件:

如果有記錄日志(可以是web服務器日志或者php記錄的日志),可以根據保存的日志處理
需要刪除的 $m->delete($key) 即可

備份請參考memcachedb的操作指南。
此解決方案適合memcached的存儲方式,況且不用處理過期的問題,php可以解決過期時間
文章更新請關注本文更新:
http://www.aslibra.com/blog/post/memcachedb_cache_solution.php

參考資料:
1 Berkeley DB
2 memcachedb
3 magent
4 NginxModules
5 嵌入式數據庫系統Berkeley DB
6 memcached和magent的安裝
7 memcachedb的安裝

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费人成在线视频观看| 欧美亚洲成人网| 永久免费精品影视网站| 亚洲美女自拍视频| 一区二区三区四区在线观看视频| 日韩精品福利在线| 26uuu日韩精品一区二区| 国产精品久久久久久搜索| 欧美国产亚洲精品久久久8v| 欧美精品福利在线| 亚洲黄色免费三级| xxxx欧美18另类的高清| 国产精品观看在线亚洲人成网| 亚洲国产私拍精品国模在线观看| 国产精品99久久久久久人| 欧美精品video| 国产精品成人国产乱一区| 在线电影欧美日韩一区二区私密| 欧美日韩在线观看视频小说| 国产精品久久97| 国产精品入口夜色视频大尺度| 91亚洲精品久久久久久久久久久久| 久久综合久中文字幕青草| 久久成人18免费网站| 国产午夜精品全部视频播放| 成人动漫网站在线观看| 91精品国产91久久久久久不卡| 国产伊人精品在线| 91免费精品国偷自产在线| 国产精品视频永久免费播放| 91成人天堂久久成人| 上原亚衣av一区二区三区| 亚洲区bt下载| 亚洲xxx大片| 精品免费在线视频| 日韩欧美在线视频免费观看| 国产欧美一区二区三区在线看| 中文字幕亚洲一区| 日韩av电影在线播放| 精品小视频在线| 狠狠躁夜夜躁人人躁婷婷91| 97视频免费看| 日本一区二区在线免费播放| 久久久综合av| 国产精品r级在线| 欧美在线精品免播放器视频| 韩国v欧美v日本v亚洲| 亚洲精品美女视频| 国产一区在线播放| 久久精品一本久久99精品| 亚洲激情第一页| 亚洲欧美国产va在线影院| 国产精品日日做人人爱| 亚洲香蕉伊综合在人在线视看| 亚洲色图50p| 日韩精品中文字幕在线观看| 色婷婷综合成人| 91日本在线观看| 国产午夜一区二区| 亚洲高清在线观看| 久久精品国产欧美激情| 久久福利视频导航| 国产精品视频网| 精品国产区一区二区三区在线观看| 97免费视频在线| 久久五月情影视| 91av国产在线| 91国语精品自产拍在线观看性色| 国产午夜精品理论片a级探花| 国产一区二区三区毛片| 欧美性猛交xxxxx水多| 欧美亚洲一级片| 久久久久亚洲精品| 色婷婷综合久久久久中文字幕1| 狠狠干狠狠久久| 亚洲色图日韩av| 亚洲视频在线免费观看| 国产在线播放不卡| 日本精品一区二区三区在线播放视频| 97在线视频免费观看| 亚洲精品国产精品国自产观看浪潮| 国产日韩欧美综合| 狠狠操狠狠色综合网| 久久久伊人欧美| 国产91精品青草社区| 亚洲人成电影网站色www| 欧亚精品在线观看| 日韩亚洲欧美中文在线| 国产69精品久久久久9| 色偷偷av亚洲男人的天堂| 国产精品高精视频免费| 日韩三级成人av网| 欧美视频不卡中文| 国产日韩精品一区二区| www.国产精品一二区| 亚洲成成品网站| 热re99久久精品国产66热| 成人国产精品一区二区| 欧美专区国产专区| 国产精品免费久久久| 亚洲综合中文字幕在线观看| 精品久久久在线观看| 国产精品国内视频| 国内精品视频一区| 国产精品亚洲网站| 日韩在线激情视频| 色妞一区二区三区| 国产成人精品在线观看| 国内精品在线一区| 九九热r在线视频精品| 日韩高清电影免费观看完整版| 亚洲国产中文字幕久久网| 最近2019中文字幕mv免费看| 久久精品亚洲一区| 亚洲自拍在线观看| 成人在线播放av| 欧美日韩免费一区| 亚洲一区二区三区乱码aⅴ| 国产九九精品视频| 精品久久久久久亚洲国产300| 国内精品国产三级国产在线专| 久久精品成人一区二区三区| 国产日韩精品在线播放| 欧美视频13p| 中文字幕一区电影| 国产精品麻豆va在线播放| 色综合久久精品亚洲国产| 国产日韩在线一区| 亚洲精品国产品国语在线| 亚洲品质视频自拍网| 久久久天堂国产精品女人| 欧美丝袜一区二区三区| 欧美一区二区三区免费观看| 欧美一级大片在线观看| 亚洲黄色免费三级| 欧美中文字幕在线播放| 国产精品草莓在线免费观看| 91精品中国老女人| 国产精品专区第二| 成人精品一区二区三区电影黑人| 日韩在线观看免费| 精品国产户外野外| 亚洲国产精品999| 91精品国产综合久久香蕉922| 成人国产精品免费视频| 亚洲欧美制服第一页| 欧美影院在线播放| 欧美成人精品一区二区| 久久中文字幕在线| 日韩av一区二区在线观看| 欧美亚洲第一区| 中文字幕精品—区二区| 亚洲国产欧美日韩精品| 国产免费一区二区三区在线观看| 亚洲国产欧美日韩精品| 久久精品电影网| 亚洲最大成人免费视频| 国产在线精品一区免费香蕉| 亚洲成人久久一区| 日韩中文字幕免费看| 久久久国产一区| 亚洲综合色激情五月| 国产精品视频午夜| 91天堂在线观看|