緩存Redis

一蔫磨、緩存概述

緩存是分布式系統(tǒng)中的重要組件淘讥,主要解決高并發(fā)圃伶,大數(shù)據(jù)場景下堤如,熱點數(shù)據(jù)訪問的性能問題。提供高性能的數(shù)據(jù)快速訪問窒朋。

1搀罢、緩存的原理

將數(shù)據(jù)寫入/讀取速度更快的存儲(設(shè)備);

將數(shù)據(jù)緩存到離應(yīng)用最近的位置侥猩;

將數(shù)據(jù)緩存到離用戶最近的位置榔至。

2、緩存分類

在分布式系統(tǒng)中欺劳,緩存的應(yīng)用非常廣泛唧取,從部署角度有以下幾個方面的緩存應(yīng)用。

CDN緩存划提;

反向代理緩存枫弟;

分布式Cache;

本地應(yīng)用緩存鹏往;

3淡诗、緩存媒介

常用中間件:Varnish,Ngnix,Squid韩容,Memcache款违,Redis,Ehcache等群凶;

緩存的內(nèi)容:文件插爹,數(shù)據(jù),對象请梢;

緩存的介質(zhì):CPU递惋,內(nèi)存(本地,分布式)溢陪,磁盤(本地萍虽,分布式)

4、緩存設(shè)計

緩存設(shè)計需要解決以下幾個問題:

緩存什么形真?

哪些數(shù)據(jù)需要緩存:1.熱點數(shù)據(jù)杉编;2.靜態(tài)資源。

緩存的位置咆霜?

CDN邓馒,反向代理,分布式緩存服務(wù)器蛾坯,本機(jī)(內(nèi)存光酣,硬盤)

如何緩存的問題?

過期策略

固定時間:比如指定緩存的時間是30分鐘脉课;

相對時間:比如最近10分鐘內(nèi)沒有訪問的數(shù)據(jù)救军;

同步機(jī)制

實時寫入;(推)

異步刷新倘零;(推拉)

二唱遭、Redis

1、搭建

以docker的形式搭建

docker?run?-di?--name=mytest_redis?-p?6379:6379?redis

2呈驶、SpringDataRedis

Spring-data-redis是spring大家族的一部分拷泽,提供了在srping應(yīng)用中通過簡單的配置訪問

redis服務(wù),對reids底層開發(fā)包(Jedis,?JRedis,?and?RJC)進(jìn)行了高度封裝袖瞻,RedisTemplate

提供了redis各種操作司致。

1)在pom.xml中引依賴

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-redis</artifactId>

</dependency>

2)修改application.yml,在spring節(jié)點下添加配置

redis:

??host:?192.168.184.134

3)在類中引入RedisTemplate

@Autowired

private?RedisTemplate?redisTemplate;

/**

*?根據(jù)ID查詢實體

*?@param?id

*?@return

*/

public?Hello?findById(String?id)?{

//從緩存中提取

Hello?hello=

(Hello)redisTemplate.opsForValue().get("hello_"+id);

//?如果緩存沒有則到數(shù)據(jù)庫查詢并放入緩存

if(hello==null)?{

hello?=?helloDao.findById(id).get();

redisTemplate.opsForValue().set("hello_"?+?id,?hello);

}

return?Hello;

}

/**

*?修改

*?@param?hello

*/

public?void?update(Hello?hello)?{

redisTemplate.delete(?"hello_"?+?hello.getId()?);//刪除緩存

helloDao.save(hello);

}?/

**

*?刪除

*?@param?id

*/

public?void?deleteById(String?id)?{

redisTemplate.delete(?"hello_"?+?id?);//刪除緩存

helloDao.deleteById(id);

}

//緩存過期處理,如設(shè)置1天的過期時間

redisTemplate.opsForValue().set("hello_"?+?id,?hello,1,

TimeUnit.DAYS);

參考

官網(wǎng)http://redisinaction.com/preview/chapter1.html

https://blog.csdn.net/qq_26517369/article/details/78330694

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市聋迎,隨后出現(xiàn)的幾起案子脂矫,更是在濱河造成了極大的恐慌,老刑警劉巖砌庄,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羹唠,死亡現(xiàn)場離奇詭異奕枢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)佩微,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進(jìn)店門缝彬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哺眯,你說我怎么就攤上這事谷浅。” “怎么了奶卓?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵一疯,是天一觀的道長。 經(jīng)常有香客問我夺姑,道長墩邀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任盏浙,我火速辦了婚禮眉睹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘废膘。我一直安慰自己竹海,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布丐黄。 她就那樣靜靜地躺著斋配,像睡著了一般。 火紅的嫁衣襯著肌膚如雪灌闺。 梳的紋絲不亂的頭發(fā)上艰争,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天,我揣著相機(jī)與錄音菩鲜,去河邊找鬼园细。 笑死,一個胖子當(dāng)著我的面吹牛接校,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狮崩,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼蛛勉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了睦柴?” 一聲冷哼從身側(cè)響起诽凌,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坦敌,沒想到半個月后侣诵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痢法,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年杜顺,在試婚紗的時候發(fā)現(xiàn)自己被綠了财搁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡躬络,死狀恐怖尖奔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情穷当,我是刑警寧澤提茁,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站馁菜,受9級特大地震影響茴扁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜汪疮,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一丹弱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧铲咨,春花似錦躲胳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至摇天,卻和暖如春粹湃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泉坐。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工为鳄, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腕让。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓孤钦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纯丸。 傳聞我的和親對象是個殘疾皇子偏形,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 前言 Java緩存實現(xiàn)方案有很多,最基本的自己使用Map去構(gòu)建緩存觉鼻,再高級點的使用Ehcache或者Goolge的...
    liangzzz閱讀 18,234評論 2 9
  • 標(biāo)簽: redis 緩存 主從 哨兵 集群 本文簡單的介紹redis三種模式在linux的安裝部署和數(shù)據(jù)存儲的總結(jié)...
    luhanlin閱讀 4,334評論 0 5
  • 為什么要用緩存俊扭? 高性能 假設(shè)這么個場景,你有個操作坠陈,一個請求過來萨惑,吭哧吭哧你各種亂七八糟操作mysql捐康,半天查出...
    _云起閱讀 7,388評論 1 50
  • spring boot對常用的數(shù)據(jù)庫支持外,對nosql 數(shù)據(jù)庫也進(jìn)行了封裝自動化庸蔼。 redis介紹 Redis是...
    程序猿KK閱讀 1,454評論 4 49
  • Redis的應(yīng)用場景非常廣泛解总。雖然Redis是一個key-value的內(nèi)存數(shù)據(jù)庫,但在實際場景中朱嘴,Redis經(jīng)常被...
    中間件小哥閱讀 961評論 0 8