淺析Redis

  • Redis概述

    Redis是一種以內(nèi)存作為存儲介質(zhì)的非關(guān)系型數(shù)據(jù)庫牌借,其使用KV鍵值對保存數(shù)據(jù)度气。所以性能十分優(yōu)越。官方給定讀取速度:GET讀 (110000/s)膨报;SET寫 (81000/s)

  • 應(yīng)用場景:

    ①緩存熱點或常用數(shù)據(jù)(評論)

    ②消息隊列(支付)

    ③高速讀寫場景(現(xiàn)場投票)

  • 注意事項

    ①業(yè)務(wù)數(shù)據(jù)如果命中率很低磷籍,就沒有必要寫入Redis。

    ②業(yè)務(wù)數(shù)據(jù)寫操作多现柠,頻繁需要寫入數(shù)據(jù)庫院领,也沒有必要使用Redis。

    ③業(yè)務(wù)數(shù)據(jù)要存儲幾百兆字節(jié)的文件够吩,會給Redis帶來很大的 壓力比然,也沒有必要使用Redis。

  • 五種數(shù)據(jù)類型

    ①String(字符串)

    set 鍵 值

    get 鍵

    ②Hash(哈希):每個hash可以存儲4294967295個鍵值對(2^31 - 1)

    hset 鍵 字段 值

    hmset 鍵 字段1 值1 字段2 值2 字段n 值n

    hget 鍵 字段

    hmget 鍵 字段1 值1 字段2 值2 字段n 值n

    hgetall 鍵

    ③List(列表):每個列表可以存儲4294967295個值(2^31 - 1)

    lpush 鍵 值1 值2 值3

    lrange 鍵 開始下標 結(jié)束下標

    ④Set(集合)

    sadd 鍵 值1 值2 值3 值n

    smembers 鍵

    ⑤Zset(Sorted Set:有序集合)

    zadd 鍵 分數(shù)1 值1 分數(shù)2 值2 分數(shù)n 值n

    zrange 鍵 開始下標 結(jié)束下標

    zrangebyscore 鍵 開始分值 結(jié)束分值

  • Redis為什么這么快周循?

    ①采用內(nèi)存作為存儲介質(zhì)强法。

    ②KV鍵值對結(jié)構(gòu)相對簡單,不會帶來額外的性能開銷

    ③單線程

    ④使用C/C++開發(fā),數(shù)據(jù)庫操作更貼近底層

  • 緩存穿透

    緩存穿透是指緩存和數(shù)據(jù)庫中都沒有的數(shù)據(jù)湾笛,而用戶不斷發(fā)起請求拟烫,如發(fā)起為id為"-1"的數(shù)據(jù)或id為特別大不存在的數(shù)據(jù)。這時的用戶很可能是攻擊者迄本,攻擊會導致數(shù)據(jù)庫壓力過大硕淑。

    解決方案:

    ? ①接口層增加校驗,如用戶鑒權(quán)校驗嘉赎,id做基礎(chǔ)校驗置媳,id<=0的直接攔截;

    ? ②從緩存取不到的數(shù)據(jù)公条,在數(shù)據(jù)庫中也沒有取到拇囊,這時也可以將key-value對寫為key-null ,緩存有效時間可以設(shè)置短點靶橱,如30秒(設(shè)置太長會導致正常情況也沒法使用)寥袭。這樣可以防止攻擊用戶反復用同一一個id暴力攻擊路捧。

  • 緩存擊穿

    緩存擊穿是指緩存中沒有但數(shù)據(jù)庫中有的數(shù)據(jù)( 一般是緩存時間到期),這時由于并發(fā)用戶特別多传黄,同時讀緩存沒讀到數(shù)據(jù)杰扫,又同時去數(shù)據(jù)庫去取數(shù)據(jù),引起數(shù)據(jù)庫壓力瞬間增大膘掰,造成過大壓力章姓。

    解決方案:

    ? ①設(shè)置熱點數(shù)據(jù)永遠不過期。

    ? ②定時任務(wù)更新緩存數(shù)據(jù)

    ? ③加互斥鎖

  • 緩存雪崩

    緩存雪崩是指緩存中數(shù)據(jù)大批量到過期時間识埋,而查詢數(shù)據(jù)量巨大凡伊,引起數(shù)據(jù)庫壓力過大甚至down機。和緩存擊穿不同的是窒舟,緩存擊穿指并發(fā)查同一條數(shù)據(jù)系忙,緩存雪崩是不同數(shù)據(jù)都過期了,很多數(shù)據(jù)都查不到從而查數(shù)據(jù)庫惠豺。

    解決方案:

    ? ①緩存數(shù)據(jù)的過期時間設(shè)置隨機银还,防止同一時間大量數(shù)據(jù)過期現(xiàn)象發(fā)生。

    ? ②如果緩存數(shù)據(jù)庫是分布式部署耕腾,將熱點數(shù)據(jù)均勻分布在不同的緩存數(shù)據(jù)庫中见剩。

    ? ③設(shè)置熱點數(shù)據(jù)永遠不過期。

  • 常用命令

    獲取所有鍵:keys *

    獲取鍵總數(shù):dbsize

    查詢鍵是否存在:exists key 鍵

    刪除鍵: del key 鍵

    查詢鍵類型:type 鍵

    查詢key的生命周期:

    ? 秒語法: ttl key

    ? 亳秒語法:pttl key

    設(shè)置過期時間:

    ? 秒語法:expire key seconds

    ? 亳秒語法: pexpire key milliseconds

    設(shè)置永不過期:persist 鍵

    更改鍵名稱:rename 鍵 新鍵

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扫俺,一起剝皮案震驚了整個濱河市苍苞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狼纬,老刑警劉巖羹呵,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異疗琉,居然都是意外死亡冈欢,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門盈简,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凑耻,“玉大人,你說我怎么就攤上這事柠贤∠愫疲” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵臼勉,是天一觀的道長邻吭。 經(jīng)常有香客問我,道長宴霸,這世上最難降的妖魔是什么囱晴? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任膏蚓,我火速辦了婚禮,結(jié)果婚禮上畸写,老公的妹妹穿的比我還像新娘驮瞧。我一直安慰自己,他們只是感情好艺糜,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布剧董。 她就那樣靜靜地躺著幢尚,像睡著了一般破停。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尉剩,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天真慢,我揣著相機與錄音,去河邊找鬼理茎。 笑死黑界,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的皂林。 我是一名探鬼主播朗鸠,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼础倍!你這毒婦竟也來了烛占?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤沟启,失蹤者是張志新(化名)和其女友劉穎忆家,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體德迹,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡芽卿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了胳搞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卸例。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肌毅,靈堂內(nèi)的尸體忽然破棺而出筷转,到底是詐尸還是另有隱情,我是刑警寧澤芽腾,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布旦装,位于F島的核電站,受9級特大地震影響摊滔,放射性物質(zhì)發(fā)生泄漏阴绢。R本人自食惡果不足惜店乐,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呻袭。 院中可真熱鬧眨八,春花似錦、人聲如沸左电。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽篓足。三九已至段誊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間栈拖,已是汗流浹背连舍。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留涩哟,地道東北人索赏。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像贴彼,于是被迫代替她去往敵國和親潜腻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345