新聞中心
緩存穿透是指惡意客戶端攻擊,經(jīng)常會傳入一些不存在的KEY,從而引起后臺的大量查詢,損耗大量的資源,使服務器陷入困境,這種挑戰(zhàn)在緩存技術面前是一個無法避開的話題,,如何防止由于緩存穿透而帶來的資源浪費,讓緩存技術真正實現(xiàn)起來性能成為DBA,系統(tǒng)架構人員和部署高速性能的架構師一直在努力的追求。

在市面上,緩存的技術一般集中在一下幾種,比如 Memcached、Ehcache,還有更多的解決方案,比如Redis,表面看起來都提供緩存的能力,但是從另一方面來說,他們的實現(xiàn)機制還是有不同的。以Redis來說,他同時擁有下面幾個特點:
– 利用哈希表實現(xiàn)鍵值對存儲,并且內(nèi)部具有哈希沖突處理方案,這一點在處理緩存穿透時特別有用;
– 可以自定義存儲時間,比如指定某個緩存超時期失效,有效的保證緩存中具有新鮮的數(shù)據(jù);
– 支持事務功能,可以按照指定的條件來更新緩存,也就是樂觀鎖,也有可能利用悲觀鎖的方式來實現(xiàn)防止緩存穿透的目的;
– 支持BloomFilte,實現(xiàn)快速查詢緩存數(shù)據(jù),這一點也能影響極大的查詢效率。
另外,在Redis的實現(xiàn)上,用戶可以使用圖形界面的形式來操作Redis,便于用戶的操作,讓提升性能變得更加容易,從而更加容易的實現(xiàn)緩存穿透的防御。
“`sql
//緩存超時期內(nèi),寫入Key
SET KEY VALUE EX [秒]
//根據(jù) BloomFilter 快速檢測Key是否存在
EXISTS KEY
//使用樂觀鎖實現(xiàn)緩存穿透
MULTI
WATCH KEY
GET KEY
SET KEY VALUE
EXEC
Redis提供了多種實現(xiàn)防止緩存穿透的管理機制,是數(shù)據(jù)庫的高性能技術的一個重要角色,如果能夠正確的應用,它可以發(fā)揮出極大的作用,在防止緩存穿透上也不在話下。
成都服務器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。物理服務器托管租用:四川成都、綿陽、重慶、貴陽機房服務器托管租用。
新聞標題:Redis讓緩存穿透無路可走(redis 防止緩存穿透)
文章地址:http://m.fisionsoft.com.cn/article/dpppodd.html


咨詢
建站咨詢
