fbpx
维基百科

memcached

memcached是一套分布式的高速缓存系統,由LiveJournal的Brad Fitzpatrick开发,但目前被許多网站使用。這是一套開放原始碼軟體,以BSD license授權釋出。

memcached
原作者Brad Fitzpatrick
首次发布2003年5月22日 (2003-05-22)
当前版本
  • 1.6.21 (2023年6月16日)[1]
源代码库
  • github.com/memcached/memcached
语言C語言
类型快取伺服器
许可协议BSD許可證[2]
网站memcached.org 

memcached缺乏認證以及安全管制,這代表應該將memcached伺服器放置在防火牆後。[3]

memcached的API使用三十二位元的循環冗余校驗(CRC-32)計算鍵值後,將資料分散在不同的機器上。當表格滿了以後,接下來新增的資料會以LRU機制替換掉。由於memcached通常只是當作快取系統使用,所以使用memcached的應用程式在寫回較慢的系統時(像是後端的資料庫)需要額外的程式碼更新memcached內的資料。

使用單位 编辑

範例 编辑

將純粹使用資料庫查詢的程式碼加上memcached支援是很簡單的,假設這是原來的程式碼:

function get_foo (int userid) {  result = db_select("SELECT * FROM users WHERE userid = ?", userid);  return result; } 

加上memcached的快取機制後:

function get_foo (int userid) {  result = memcached_fetch("userrow:" + userid);  if (!result) {  result = db_select("SELECT * FROM users WHERE userid = ?", userid);  memcached_add("userrow:" + userid, result);  }  return result; } 

上述的程式會先到memcached檢查是否有userrow:userid的資料,如果有則直接傳回結果,如果不存在時再去資料庫查詢,並將結果放到memcached內。

在memcached內已經有快取資訊時將資料庫的資料更新後,上述的程式會抓到舊的資料,這是屬於Cache coherency的問題。其中一種解決的方法是在更新資料庫時,同時更新memcached內的資訊:

function update_foo(int userid, string dbUpdateString) {  result = db_execute(dbUpdateString);  if (result) {  data = createUserDataFromDBString(dbUpdateString);  memcached_set("userrow:"+userid, data);  } } 

外部連結 编辑

  1. ^ 1.0 1.1 Release 1.6.21. 2023年6月16日 [2023年6月26日]. 
  2. ^ Memcached license. GitHub. [2014-06-27]. (原始内容于2018-12-21). 
  3. ^ memcached - a distributed memory object caching system. memcached.org. [2022-05-18]. (原始内容于2022-07-07). 

memcached, 是一套分布式的高速缓存系統, 由livejournal的brad, fitzpatrick开发, 但目前被許多网站使用, 這是一套開放原始碼軟體, 以bsd, license授權釋出, 原作者brad, fitzpatrick首次发布2003年5月22日, 2003, 当前版本1, 2023年6月16日, 源代码库github, 语言c語言类型快取伺服器许可协议bsd許可證, 网站, 缺乏認證以及安全管制, 這代表應該將伺服器放置在防火牆後, 的api使用三十二位元的循環冗余校驗, 計算鍵值後. memcached是一套分布式的高速缓存系統 由LiveJournal的Brad Fitzpatrick开发 但目前被許多网站使用 這是一套開放原始碼軟體 以BSD license授權釋出 memcached原作者Brad Fitzpatrick首次发布2003年5月22日 2003 05 22 当前版本1 6 21 2023年6月16日 1 源代码库github wbr com wbr memcached wbr memcached语言C語言类型快取伺服器许可协议BSD許可證 2 网站memcached wbr org memcached缺乏認證以及安全管制 這代表應該將memcached伺服器放置在防火牆後 3 memcached的API使用三十二位元的循環冗余校驗 CRC 32 計算鍵值後 將資料分散在不同的機器上 當表格滿了以後 接下來新增的資料會以LRU機制替換掉 由於memcached通常只是當作快取系統使用 所以使用memcached的應用程式在寫回較慢的系統時 像是後端的資料庫 需要額外的程式碼更新memcached內的資料 使用單位 编辑Digg Facebook 同時也回饋了許多程式碼 Meetup com 提供memcached對Java的連線函式庫 Slashdot Wikipedia範例 编辑將純粹使用資料庫查詢的程式碼加上memcached支援是很簡單的 假設這是原來的程式碼 function get foo int userid result db select SELECT FROM users WHERE userid userid return result 加上memcached的快取機制後 function get foo int userid result memcached fetch userrow userid if result result db select SELECT FROM users WHERE userid userid memcached add userrow userid result return result 上述的程式會先到memcached檢查是否有userrow userid的資料 如果有則直接傳回結果 如果不存在時再去資料庫查詢 並將結果放到memcached內 在memcached內已經有快取資訊時將資料庫的資料更新後 上述的程式會抓到舊的資料 這是屬於Cache coherency的問題 其中一種解決的方法是在更新資料庫時 同時更新memcached內的資訊 function update foo int userid string dbUpdateString result db execute dbUpdateString if result data createUserDataFromDBString dbUpdateString memcached set userrow userid data 外部連結 编辑memcached 官方站台 页面存档备份 存于互联网档案馆 memcached 通訊協定 页面存档备份 存于互联网档案馆 連結至 CVS 1 0 1 1 Release 1 6 21 2023年6月16日 2023年6月26日 Memcached license GitHub 2014 06 27 原始内容存档于2018 12 21 memcached a distributed memory object caching system memcached org 2022 05 18 原始内容存档于2022 07 07 取自 https zh wikipedia org w index php title Memcached amp oldid 76808275, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。