memcached 与 mysql_memcached 和 MySQL 的 query ?
cache 相比,有什么優(yōu)缺點?
把 memcached 引入應(yīng)用中,還是需要不少工作量的。MySQL 有個使用方便的
query cache,可以自動地緩存 SQL 查詢的結(jié)果,被緩存的 SQL 查詢可以被反復(fù)
地快速執(zhí)行。Memcached 與之相比,怎么樣呢?MySQL 的 query cache 是集中
式的,連接到該 query cache 的 MySQL 服務(wù)器都會受益。
當(dāng)您修改表時,MySQL 的 query cache 會立刻被刷新(flush)。存儲
一個 memcached item 只需要很少的時間,但是當(dāng)寫操作很頻繁時,MySQL
的 query cache 會經(jīng)常讓所有緩存數(shù)據(jù)都失效。
在多核 CPU 上,MySQL 的 query cache 會遇到擴(kuò)展問題(scalability
issues)。在多核 CPU 上,query cache 會增加一個全局鎖(global lock), 由
于需要刷新更多的緩存數(shù)據(jù),速度會變得更慢。
在 MySQL 的 query cache 中,我們是不能存儲任意的數(shù)據(jù)的(只能是
SQL 查詢結(jié)果)。而利用 memcached,我們可以搭建出各種高效的緩存。比
如,可以執(zhí)行多個獨立的查詢,構(gòu)建出一個用戶對象(user object),然后將
用戶對象緩存到 memcached 中。而 query cache 是 SQL 語句級別的,不可能
做到這一點。在小的網(wǎng)站中,query cache 會有所幫助,但隨著網(wǎng)站規(guī)模的增加,
query cache 的弊將大于利。
query cache能夠利用的內(nèi)存容量受到MySQL服務(wù)器空閑內(nèi)存空間的限
制。給數(shù)據(jù)庫服務(wù)器增加更多的內(nèi)存來緩存數(shù)據(jù),固然是很好的。但是,有了
memcached,只要您有空閑的內(nèi)存,都可以用來增加 memcached 集群的規(guī)
模,然后您就可以緩存更多的數(shù)據(jù)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的memcached 与 mysql_memcached 和 MySQL 的 query ?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫技术路线_爬虫学习——中
- 下一篇: mysql left/right joi