主頁 >  其他 > 你離阿里還差多少?阿里Java面試高頻常問的Redis問題總結(含答案)

你離阿里還差多少?阿里Java面試高頻常問的Redis問題總結(含答案)

2020-10-14 09:20:20 其他

前言

現在的大廠面試,尤其是一面與二面都涉及到很深的Java基礎功底及知識面,所以在面試前積極的準備面試,復習整個 Java 知識體系將變得非常重要,
小編這里整理了一份Java面試核心筆記資料,包括了包含集合,JVM,多執行緒并發,Spring,負載均衡,微服務,Redis,Dubbo,設計模式,資料結構,分布式等!
因為篇幅有限,這里小編就總結了一些常問的Redis問題,剩下的Java面試題和答案放在文章末尾,
在這里插入圖片描述

Java面試 高頻常問的Redis問題

1.什么是 Redis?

Redis 是一個基于記憶體的高性能 key-value 資料庫,支持多種資料型別,

2. 簡單描述一下 Redis 的特點有哪些?

Redis 本質上是一個 key-value 型別的記憶體資料庫,很像 memcached,整個資料庫統統加載在記憶體當中進行操作,定期通過異步操作把資料庫資料 flush 到硬碟上進行保存,純記憶體操作,Redis 的性能非常出色,每秒可以處理超過 10 萬次讀寫操作,是已知性能最快的 key-value DB,Redis 的出色之處不僅僅是性能,Redis 最大的魅力是支持保存多種資料結構,此外單個 value 的最大限制是 1GB,不像 memcached 只能保存 1MB 的資料,因此 Redis 可以用來實作很多有用的功能,Redis 的主要缺點是資料庫容量受到物理記憶體的限制,不能用作海量資料的高性能讀寫,因此 Redis 適合的場景主要局限在較小資料量的高性能操作和運算上,

3. Redis 持久化機制有哪些? 區別是什么?優缺點是什么?

Redis 提供兩種方式進行持久化,

RDB 持久化:原理是將 Reids 在記憶體中的資料庫記錄定時 dump 到磁盤上的 RDB 持久化,
AOF(append only file)持久化:原理是將 Redis 的操作日志以追加的方式寫入檔案,

兩者的區別:

RDB 持久化是指在指定的時間間隔內將記憶體中的資料集快照寫入磁盤,實際操作程序是 fork 一個子行程,先將資料集寫入臨時檔案,寫入成功后,再替換之前的檔案,用二進制壓縮存盤,
在這里插入圖片描述

AOF 持久化以日志的形式記錄服務器所處理的每一個寫、洗掉操作,查詢操作不會記錄,以文本的方式記錄,可以打開檔案看到詳細的操作記錄,
在這里插入圖片描述

RDB 優點

RDB 是緊湊的二進制檔案,比較合適備份,全量復制等場景;
RDB 恢復資料遠快于 AOF,

RDB 缺點

RDB 無法實作實時或者秒級持久化;
新老版本無法兼容 RDB 格式,

AOF 優點

可以更好地保護資料不丟失;
appen-only 模式寫入性能比較高;
適合做災難性的誤洗掉緊急恢復,

AOF 缺點:

對于同一份檔案,AOF 檔案要比 RDB 快照大;
AOF 開啟后,寫的 QPS 會有所影響,相對于 RDB 來說 寫 QPS 要下降;
資料庫恢復比較慢, 不合適做冷備,

4. Redis支持的資料型別

Redis 通過 key-value 的單值不同型別來區分, 以下是支持的型別: String、List、Set、Sorted Set 、Hash,

5. 為什么 Redis 需要把所有資料放到記憶體中?

1.追求最快的資料讀取速度,如果直接磁盤讀取會非常慢;
2.為了保證資料安全,也會異步方式將資料寫入磁盤;
3.可以設定 Redis 最大使用的記憶體,若達到記憶體限值后將不能繼續存入資料,

6. Redis 是單執行緒的嗎?

Redis是單執行緒處理網路指令請求,所以不需要考慮并發安全問題,所有的網路請求都是一個執行緒處理,但不代表所有模塊都是單執行緒,

7. Redis 的快取失效策略有哪幾種?

1.定時洗掉策略在設定 key 的過期時間的同時,為該 key 創建一個定時器,讓定時器在 key 的過期時間來臨時,對 key 進行洗掉,

**優點:**保證記憶體盡快釋放,
**缺點:**若 key 過多,洗掉這些 key 會占用很多 CPU 時間, 而且每個 key 創建一個定時器,性能影響嚴重,

2.惰性洗掉策略key 過期的時候不洗掉,每次從資料庫獲取 key 的時候去檢查是否過期,若過期,則洗掉,回傳 null,

**優點:**CPU 時間占用比較少,
**缺點:**若 key 很長時間沒有被獲取, 將不會被洗掉,可能造成記憶體泄露,

3.定期洗掉策略每隔一段時間執行一次洗掉(在 redis.conf 組態檔設定 hz,1s 重繪的頻率)過期 key 操作,

**優點:**可以控制洗掉操作的時長和頻率,來減少 CPU 時間占用,可以避免惰性洗掉時候記憶體泄漏的問題,
**缺點:**對記憶體友好方面,不如定時策略對 CPU 友好方面,不如惰性策略Redis 一般采用:惰性策略 + 定期策略兩個相結合,

8. 什么是快取命中率?提高快取命中率的方法有哪些?

命中:可以直接通過快取獲取到需要的資料,

不命中:無法直接通過快取獲取到想要的資料,需要再次查詢資料庫或者執行其它的操作,原因可能是由于快取中根本不存在,或者快取已經過期,命中率越高表示使用快取作用越好,性能越高(回應時間越短、吞吐量越高),并發能力也越好,重點關注訪問頻率高且時效性相對低一些的業務資料上,利用預加載(預熱)、擴容、優化快取粒度、更新快取等手段來提高命中率,

9.Redis全域命令及資料庫管理

10.Redis設計訂單應用場景

11.Redis快取雪崩講講看?

12.什么是快取穿透?

13.Redis重啟時加載AOF與RDB的順序

14.Redis的資料結構—哈希(Hash)

15.Redis的資料結構—集合(set

16.Redis的資料結構—字串

總結

其實面試不單單是只靠面試之前刷題那么簡單,更多的還是平時的積累,
小編整理了大廠java程式員面試涉及到的絕大部分面試題及答案免費分享給大家,希望能幫助到大家面試前的復習,也節省大家在網上搜索資料的時間來學習,有需要的朋友可以看下面的免費領取方式

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
領資料點這里:暗號CSDN

在這里插入圖片描述
在這里插入圖片描述

領資料點這里:暗號CSDN
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

最后感謝大家的支持,希望小編整理的資料能夠幫助到大家!也祝愿大家都能夠升職加薪!
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/171886.html

標籤:其他

上一篇:一篇文章帶你使用 SpringBoot 整合 RabbitMQ

下一篇:從高級程式員-資深程式員-技術總監,我都為你整理好了學習路徑

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more