国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

分享幾道 Redis 高頻面試題,面試不用愁

數據庫 Redis
說說 Redis 都有哪些應用場景?緩存這應該是 Redis 主要的功能了,也是大型網站必備機制,合理地使用緩存不僅可以加 快數據的訪問速度,而且能夠有效地降低后端數據源的壓力。

 [[286858]]

1、說說 Redis 都有哪些應用場景?

  • 緩存:這應該是 Redis 主要的功能了,也是大型網站必備機制,合理地使用緩存不僅可以加 快數據的訪問速度,而且能夠有效地降低后端數據源的壓力。
  • 共享Session:對于一些依賴 session 功能的服務來說,如果需要從單機變成集群的話,可以選擇 redis 來統一管理 session。
  • 消息隊列系統:消息隊列系統可以說是一個大型網站的必備基礎組件,因為其具有業務 解耦、非實時業務削峰等特性。Redis提供了發布訂閱功能和阻塞隊列的功 能,雖然和專業的消息隊列比還不夠足夠強大,但是對于一般的消息隊列功 能基本可以滿足。比如在分布式爬蟲系統中,使用 redis 來統一管理 url隊列。
  • 分布式鎖:在分布式服務中。可以利用Redis的setnx功能來編寫分布式的鎖,雖然這個可能不是太常用。

當然還有諸如排行榜、點贊功能都可以使用 Redis 來實現,但是 Redis 也不是什么都可以做,比如數據量特別大時,不適合 Redis,我們知道 Redis 是基于內存的,雖然內存很便宜,但是如果你每天的數據量特別大,比如幾億條的用戶行為日志數據,用 Redis 來存儲的話,成本相當的高。

2、單線程的 Redis 為什么這么快?

Redis 有多快?官方給出的答案是讀寫速度 10萬/秒,如果說這是在單線程情況下跑出來的成績,你會不會驚訝?為什么單線程的 Redis 速度這么快?原因有以下幾點:

  • 純內存操作:Redis 是完全基于內存的,所以讀寫效率非常的高,當然 Redis 存在持久化操作,在持久化操作是都是 fork 子進程和利用 Linux 系統的頁緩存技術來完成,并不會影響 Redis 的性能。
  • 單線程操作:單線程并不是壞事,單線程可以避免了頻繁的上下文切換,頻繁的上下文切換也會影響性能的。
  • 合理高效的數據結構
  • 采用了非阻塞 I/O 多路復用機制:多路I/O復用模型是利用 select、poll、epoll 可以同時監察多個流的 I/O 事件的能力,在空閑的時候,會把當前線程阻塞掉,當有一個或多個流有 I/O 事件時,就從阻塞態中喚醒,于是程序就會輪詢一遍所有的流(epoll 是只輪詢那些真正發出了事件的流),并且只依次順序的處理就緒的流,這種做法就避免了大量的無用操作。

3、說說 Redis 的數據結構及使用場景

Redis 提供了 5種數據結構,每一種數據結構有各種的使用場景。

1、String 字符串

字符串類型是 Redis 最基礎的數據結構,首先鍵都是字符串類型,而且 其他幾種數據結構都是在字符串類型基礎上構建的,我們常使用的 set key value 命令就是字符串。常用在緩存、計數、共享Session、限速等。

2、Hash 哈希

在Redis中,哈希類型是指鍵值本身又是一個鍵值對 結構,形如value={{field1,value1},...{fieldN,valueN}},添加命令:hset key field value。哈希可以用來存放用戶信息,比如實現購物車

3、List 列表

列表(list)類型是用來存儲多個有序的字符串。可以做簡單的消息隊列的功能。另外,可以利用 lrange 命令,做基于 Redis的分頁功能,性能極佳,用戶體驗好。

4、Set 集合

集合(set)類型也是用來保存多個的字符串元素,但和列表類型不一 樣的是,集合中不允許有重復元素,并且集合中的元素是無序的,不能通過 索引下標獲取元素。利用 Set 的交集、并集、差集等操作,可以計算共同喜好,全部的喜好,自己獨有的喜好等功能。

5、Sorted Set 有序集合

Sorted Set 多了一個權重參數 Score,集合中的元素能夠按 Score 進行排列。可以做排行榜應用,取 TOP N 操作

4、說一說 Redis 的數據過期淘汰策略

先給大家一個結論,Redis 中數據過期策略采用定期刪除+惰性刪除策略。

1、定期刪除、惰性刪除策略是什么?

  • 定期刪除策略:Redis 啟用一個定時器定時監視所有的 key,判斷key是否過期,過期的話就刪除。這種策略可以保證過期的 key 最終都會被刪除,但是也存在嚴重的缺點:每次都遍歷內存中所有的數據,非常消耗 CPU 資源,并且當 key 已過期,但是定時器還處于未喚起狀態,這段時間內 key 仍然可以用。
  • 惰性刪除策略:在獲取 key 時,先判斷 key 是否過期,如果過期則刪除。這種方式存在一個缺點:如果這個 key 一直未被使用,那么它一直在內存中,其實它已經過期了,會浪費大量的空間。

2、定期刪除+惰性刪除策略是如何工作的?

這兩種策略天然的互補,結合起來之后,定時刪除策略就發生了一些改變,不在是每次掃描全部的 key 了,而是隨機抽取一部分 key 進行檢查,這樣就降低了對 CPU 資源的損耗,惰性刪除策略互補了為檢查到的key,基本上滿足了所有要求。但是有時候就是那么的巧,既沒有被定時器抽取到,又沒有被使用,這些數據又如何從內存中消失?沒關系,還有內存淘汰機制,當內存不夠用時,內存淘汰機制就會上場。Redis 內存淘汰機制有以下幾種策略:

  • noeviction:當內存不足以容納新寫入數據時,新寫入操作會報錯。(Redis 默認策略)
  • allkeys-lru:當內存不足以容納新寫入數據時,在鍵空間中,移除最近最少使用的 Key。(推薦使用)
  • allkeys-random:當內存不足以容納新寫入數據時,在鍵空間中,隨機移除某個 Key。
  • volatile-lru:當內存不足以容納新寫入數據時,在設置了過期時間的鍵空間中,移除最近最少使用的 Key。這種情況一般是把 Redis 既當緩存,又做持久化存儲的時候才用。
  • volatile-random:當內存不足以容納新寫入數據時,在設置了過期時間的鍵空間中,隨機移除某個 Key。
  • volatile-ttl:當內存不足以容納新寫入數據時,在設置了過期時間的鍵空間中,有更早過期時間的 Key 優先移除。

修改內存淘汰機制只需要在 redis.conf 配置文件中配置 maxmemory-policy 參數即可。

5、如何解決 Redis 緩存穿透和緩存雪崩問題

緩存雪崩: 由于緩存層承載著大量請求,有效地 保護了存儲層,但是如果緩存層由于某些原因不能提供服務,比如 Redis 節點掛掉了,熱點 key 全部失效了,在這些情況下,所有的請求都會直接請求到數據庫,可能會造成數據庫宕機的情況。

預防和解決緩存雪崩問題,可以從以下三個方面進行著手:

1、使用 Redis 高可用架構:使用 Redis 集群來保證 Redis 服務不會掛掉

2、緩存時間不一致: 給緩存的失效時間,加上一個隨機值,避免集體失效

3、限流降級策略:有一定的備案,比如個性推薦服務不可用了,換成熱點數據推薦服務

緩存穿透: 緩存穿透是指查詢一個根本不存在的數據,這樣的數據肯定不在緩存中,這會導致請求全部落到數據庫上,有可能出現數據庫宕機的情況。

預防和解決緩存穿透問題,可以考慮以下兩種方法:

1、緩存空對象: 將空值緩存起來,但是這樣就有一個問題,大量無效的空值將占用空間,非常浪費。

2、布隆過濾器攔截: 將所有可能的查詢key 先映射到布隆過濾器中,查詢時先判斷key是否存在布隆過濾器中,存在才繼續向下執行,如果不存在,則直接返回。布隆過濾器有一定的誤判,所以需要你的業務允許一定的容錯性。

責任編輯:華軒 來源: 平頭哥的技術博文
相關推薦

2021-02-23 12:43:39

Redis面試題緩存

2019-09-10 10:48:10

RedisJava面試題

2019-07-18 15:42:53

Redisoffer數據庫

2021-01-22 11:58:30

MySQL數據庫開發

2020-10-27 10:43:24

Redis字符串數據庫

2021-08-05 05:04:50

熱部署模型字節

2020-06-04 14:40:40

面試題Vue前端

2020-08-31 12:20:07

Python面試題代碼

2019-11-26 10:30:11

CSS前端面試題

2022-08-22 18:57:29

React前端面試

2022-03-31 09:50:45

JS面試題

2023-11-13 07:37:36

JS面試題線程

2011-03-24 13:27:37

SQL

2021-12-08 11:18:21

Spring Bean面試題生命周期

2022-04-15 09:23:29

Kubernetes面試題

2020-03-03 17:47:07

UDP TCP面試題

2025-02-26 07:58:41

2009-06-06 18:34:05

java面試題

2009-06-06 18:36:02

java面試題

2015-09-02 09:32:56

java線程面試
點贊
收藏

51CTO技術棧公眾號

欧美激情一区二区三区成人| 国产高清一区在线观看| 精品伊人久久久| 欧美区一区二区三区| 亚洲日本精品国产第一区| 88xx成人永久免费观看| 亚洲视频免费在线观看| 日韩一区不卡| 婷婷激情久久| 这里只有精品视频在线| 五月天婷婷激情视频| 777视频在线观看| 国产精品a久久久久| 色综合婷婷久久| 91精品综合久久久久久五月天| 国产一区二区三区日韩欧美| 日本国产在线播放| 国产精品s色| 7777kkkk成人观看| 超碰资源在线| 日韩欧美a级成人黄色| 欧美女人性生活视频| 国内精品99| 男男激情在线| 性感美女一区二区在线观看| 久久99精品久久久久久野外| 精品中文字幕一区二区小辣椒| 国产69精品久久久久9| 久草在线视频福利| 欧美丝袜美女中出在线| 国产免费人做人爱午夜视频| 免费一级片91| 成人性教育视频在线观看| 亚洲欧美在线人成swag| 欧美一区二区黄| 国产在线资源| 久久mv成人精品亚洲动漫| 波多野结衣在线高清| 亚洲一级二级三级| 欧美日韩在线中文| 91大学生片黄在线观看| 午夜国产精品视频免费体验区| 欧美一区第一页| 国产人妖一区| 国产性色av一区二区| av大片在线看| 午夜国产精品一区| 人人在线97| 亚洲精品国产精品乱码不99| 1024亚洲| 亚洲人成亚洲人成在线观看图片| 欧美精品成人网| 国产精品久久久久久久久免费丝袜| 久久久免费视频网站| 国内精品久久久久影院一蜜桃| 日韩jizzz| 美腿丝袜一区二区三区| 中文字幕日韩一区二区三区| 久久精品久久久精品美女| 日本不卡一区二区三区在线观看| 夜夜嗨av一区二区三区网站四季av| 精品日本一区二区| 日韩精品免费视频人成| 亚洲一卡二卡三卡| 成人久久18免费网站麻豆| 国产一区二区三区乱码| 国产色婷婷亚洲99精品小说| 丁香婷婷激情网| 精品日韩中文字幕| av在线资源站| 亚洲精品一区二区三区蜜桃下载| www.51av欧美视频| 欧美精品一区二区免费| 国产一区二区三区四区五区传媒| 95av在线视频| 亚洲国产二区| 国产传媒久久久| 国产网站一区二区三区| 国内福利写真片视频在线| 欧美日韩一级片网站| 操喷在线视频| 久精品免费视频| 久久福利综合| 亚洲视频在线二区| 国产精品免费av| 黄色一级片网址| 国产色产综合产在线视频| 99在线精品一区二区三区| 日韩在线视频观看正片免费网站| 亚洲五月六月| 国产亚洲高清一区| 欧美一级在线亚洲天堂| 亚洲经典在线看| 性欧美精品一区二区三区在线播放| 春日野结衣av| 中文字幕在线一区免费| a天堂中文在线| 一区二区三区四区在线| 天堂av最新在线| 欧美精品九九久久| 国产日韩1区| 人人爽人人av| 在线播放欧美女士性生活| 国产午夜精品一区在线观看| 国产精品毛片va一区二区三区| 成人免费av资源| 最新中文在线视频| 一区二区三区国产视频| 欧美日本一区| 99热在线观看免费| 午夜影院网站| 日韩成人在线观看| 欧美日韩性在线观看| 亚洲精品国产suv一区88| 亚洲成av人片| 99tv成人影院| 国产精品自拍首页| 中国色在线观看另类| 激情国产在线| 黑人巨大精品欧美一区二区小视频 | 成人高清视频观看www| 久久久99久久| 99riav视频一区二区| 99久久精品无码一区二区毛片| 国产精品电影一区二区三区| 亚洲熟妇av日韩熟妇在线| 亚洲国产高潮在线观看| 欧美国产91| 网红女主播少妇精品视频| 99精品国产99久久久久久福利| 欧美理论电影在线播放| 水野朝阳av一区二区三区| 亚洲男人天堂| 欧洲成人性视频| 中文字幕av一区二区三区| 国产人妖一区| 国产伦精品一区二区三区四区视频_ | 国产制服丝袜一区| 少妇av在线| 久久久99爱| 色诱视频网站一区| 久久一区91| 超碰在线图片| 18久久久久久| 亚洲欧洲av在线| 欧美三级午夜理伦三级在线观看 | 另类小说视频一区二区| 毛片在线看片| 国产免费高清一区| 欧美美女视频在线观看| 久久亚洲综合国产精品99麻豆精品福利| 久久99国产精一区二区三区| www99热| 国产美女视频一区二区三区| 欧美一区二区三区四区久久| 午夜久久99| 99国产精品一区| 一本大道香蕉8中文在线视频| 久久久这里只有精品视频| 国产香蕉97碰碰久久人人| 日韩理论在线| 蜜桃视频中文字幕| 91久久国产精品91久久性色| 丰满岳妇乱一区二区三区| 亚洲国产成人精品女人| 国产区高清在线| 欧美伦理一区二区| 亚洲精品不卡在线| 99久久er热在这里只有精品15| 亚洲精品a区| 天天插天天狠天天透| 国产欧美一区二区三区在线| 亚洲成人免费视| 国产亚洲综合精品| 九九热精品视频| 欧美三级网站| 动漫av网站免费观看| 久久久久久久久久久国产| 精品福利一区二区| 鲁大师影院一区二区三区| 国产九色在线| 日韩女优中文字幕| 青青草国产成人a∨下载安卓| 免费福利影院| 99re在线观看| 精品99一区二区三区| 波多野结衣一区二区三区| 综合亚洲自拍| h网站久久久| 国产福利一区视频| 91在线播放国产| 日韩黄色在线免费观看| 亚洲视频图片小说| 免费在线日韩av| 国产成人免费av一区二区午夜| 欧美偷拍视频| 色欲av无码一区二区人妻| 91久久极品少妇xxxxⅹ软件| 日韩欧美一区二区视频| 欧美国产激情一区二区三区蜜月|