黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 進階學習的redis常見面試題匯總

進階學習的redis常見面試題匯總

更新時間:2022-12-30 11:43:03 來源:動力節點 瀏覽1314次

很多大廠都在使用redis,所以今天小編當作搬運工,為大家整理了一份Redis面試題,合計了10個題目,還算是比較全,題目涵蓋基礎題和高級題。希望對各位讀者有所幫助,祝大家前程似錦。

redis常見面試題

什么是 Redis?

Redis全稱為Remote Dictionary Server,它是現在最受歡迎的、完全開源免費的、遵守 BSD 協議的NoSQL數據庫之一,它是一個使用ANSI C編寫的開源、包含多種數據結構、支持網絡、基于內存、可選持久性的鍵值對存儲數據庫,其具備如下特性:

①基于內存運行,性能高效;

②支持分布式,理論上可以無限擴展;

③支持數據持久化,重啟的時候可以再次加載進行使用;

④支持五種數據類型和數據備份。

相比于其它數據庫類型,Redis具備的特點是:

  • C/S通訊模型;
  • 單進程單線程模型;
  • 豐富的數據類型;
  • 操作具有原子性;
  • 數據持久化;
  • 高并發讀寫;
  • 支持lua腳本。

Redis 支持的常見五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set,有序集合)。項目中比較常用的是 string和hash, 如果你是 Redis 高級用戶,還需要加上下面幾種數據結構 :HyperLogLog、Geo、Pub/Sub。如果你說還玩過 Redis Module,像 BloomFilter(布隆過濾器),RedisSearch,Redis-ML,面試官得眼睛就開始發亮了。

Redis 與其它 key-value 存儲有什么不同?

答:(1)Redis 有著更為復雜的數據結構并且提供對它們的原子性操作,這是一個不同于其它數據庫的進化路徑。Redis 的數據類型都是基于基本數據結構的,同時對程序員透明,無需進行額外的抽象。

(2)Redis 運行在內存中但是可以持久化到磁盤,所以在對不同數據集進行高速讀寫時需要權衡內存,因為數據量不能大于硬件內存。在內存數據庫方面的另一個優點是,相比在磁盤上相同復雜度的數據結構,在內存中操作起來非常簡單,這樣 Redis可以做很多內部復雜性很強的事情。同時,在磁盤存儲格式方面它們是緊湊的、以追加的方式產生的,因為它們并不需要進行隨機訪問。

使用 Redis 有哪些好處或者優勢?

(1)性能極高。它讀的速度是 11萬次/s,寫的速度是 8萬次/s。因為數據存在內存中,而且是單進程單線程IO多路復用,沒有創建和銷毀線程的開銷。

(2)豐富的數據類型。

(3)原子性。Redis 的所有操作都是原子性的,多個操作也支持事務,即通過 MULTI 和 EXEC指令包起來。

(4)豐富的特性。它還支持 publish/subscribe,緩存,通知和key過期等特性。

Redis 相比 Memcached 有哪些優勢?

(1)Memcached 所有的值均是簡單的字符串,redis 作為其替代者,支持更為豐富的數據類。

(2)Redis 的速度比 Memcached 快。

(3)Redis 可以持久化數據。

Memcache 與 Redis 的區別都有哪些?

(1)存儲方式 Memecache 把數據全部存在內存之中,斷電后會掛掉,數據不能超過內存大小。 Redis 有部分存在硬盤上,這樣能保證數據的持久性。

(2)數據支持類型 Memcache 對數據類型支持相對簡單,而Redis 有復雜的數據類型。

(3)使用底層模型不同 它們之間底層實現方式以及與客戶端之間通信的應用協議不一樣。 Redis 直接自己構建了 VM 機制 ,因為一般的系統調用系統函數的話,會浪費一定的時間去移動和請求。

Redis 是單進程單線程的?

答:Redis 是單進程單線程的,redis 利用隊列技術將并發訪問變為串行訪問,消除了傳統數據庫串行控制的開銷。

Redis 的持久化機制是什么?各自的優缺點?

答:Redis提供兩種持久化機制—— RDB 和 AOF 機制。

1、RDB(Redis DataBase)持久化方式是指用數據集快照的方式半持久化模式記錄 redis 數據庫的所有鍵值對,在某個時間點將數據寫入一個臨時文件,持久化結束后,用這個臨時文件替換上次持久化的文件,達到數據恢復。

優點:(1)只有一個文件 dump.rdb,方便持久化。(2)容災性好,一個文件可以保存到安全的磁盤。(3)性能最大化,fork 子進程來完成寫操作,讓主進程繼續處理命令,所以是 IO最大化。使用單獨子進程來進行持久化,主進程不會進行任何 IO 操作,保證了 redis的高性能。(4)相對于數據集大時,比 AOF 的啟動效率更高。

缺點:數據安全性低。RDB 是間隔一段時間進行持久化,如果持久化之間 redis 發生故障,會發生數據丟失。所以這種方式更適合數據要求不嚴謹的場景。

2、AOF (Append-only file)持久化方式:是指所有的命令行記錄以 redis 命令請求協議的格式完全持久化存儲,保存為 aof 文件。

優點:(1)數據安全,aof 持久化可以配置 appendfsync 屬性,有 always,每進行一次命令操作就記錄到 aof 文件中一次。(2)通過 append 模式寫文件,即使中途服務器宕機,可以通過 redis-check-aof工具解決數據一致性問題。(3)AOF 機制的 rewrite 模式。AOF 文件沒被 rewrite 之前(文件過大時會對命令進行合并重寫),可以刪除其中的某些命令(比如誤操作的 flushall)。

缺點:(1)AOF 文件比 RDB 文件大,且恢復速度慢。(2)數據集大的時候,比 RDB 啟動效率低。

Redis 常見性能問題和解決方案。

答:(1)Master 最好不要寫內存快照,如果 Master 寫內存快照,save 命令調度 rdbSave函數,會阻塞主線程的工作,當快照比較大時對性能影響是非常大的,會間斷性暫停服務。

(2)如果數據比較重要,某個 Slave 開啟 AOF 備份數據,策略設置為每秒同步一次。

(3)為了主從復制的速度和連接的穩定性,Master 和 Slave 最好在同一個局域網。

(4)盡量避免在壓力很大的主庫上增加從庫。

(5)主從復制不要用圖狀結構,用單向鏈表結構更為穩定,即:Master <- Slave1<- Slave2 <- Slave3…這樣的結構方便解決單點故障問題,實現 Slave 對 Master的替換。如果 Master 掛了,可以立刻啟用 Slave1 做 Master,其它不變。

redis 過期鍵的刪除策略是什么?

答:(1)定時刪除:在設置鍵的過期時間的同時,創建一個定時器 timer,讓定時器在鍵的過期時間來臨時,立即執行對鍵的刪除操作。

(2)惰性刪除:放任鍵過期不管,但是每次從鍵空間中獲取鍵時,都檢查取得的鍵是否過期,如果過期的話,就刪除該鍵;否則,就返回該鍵。

(3)定期刪除:每隔一段時間程序就對數據庫進行一次檢查,刪除里面的過期鍵。至于要刪除多少過期鍵,以及要檢查多少個數據庫,則由算法決定。

以上就是“進階學習的redis常見面試題匯總”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 污污香蕉视频 | 国产精品国产三级国产无毒 | 欧美天堂在线观看 | 国产成本人三级在线观看网站 | 性欧美videofree另类 | 亚洲视频免费观看 | 欧美日本在线观看 | 欧美xxxxx色视频在线观看 | 黄色网址免费在线播放 | 亚洲欧洲精品国产区 | 日韩一区二区三区免费体验 | 日韩美一区二区三区 | 性欧洲黑人巨大videos | 黄色在线免费观看网站 | 国产a精品 | 免费一级毛片在线播放 | 偷偷狠狠的日日高清完整视频 | 最近的中文字幕在线看 | 一本大道香蕉高清视频视频 | 欧美精品一区二区久久 | 午夜国产福利在线观看 | 日韩欧美一区二区久久黑人 | 日本三级香港三级网站 | 秋霞在线高清观看伦理片 | 黄色一级片在线观看 | 两个人看的www高清免费视频 | 真实一级一级一片免费视频 | 午夜三级福利 | 日韩性freexxxx在线观看 | 女攻男受高h全文肉肉 | 日本综合视频 | 亚洲视频一区在线观看 | 五月网 | 久在线精品视频 | 正在播放一区 | 久久亚洲综合 | 欧美成人性色xxxxx视频大 | 手机看片日韩高清国产欧美 | 国产成人v片视频在线观看 国产成人v视频在线观看 | 琪琪成人 | 日本在线一区 |