這篇文章給大家分享的是Redis常見面試真題和答案。小編覺得挺實用的,為此分享給大家做個參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司主營古冶網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP開發(fā),古冶h5微信平臺小程序開發(fā)搭建,古冶網(wǎng)站營銷推廣歡迎古冶等地區(qū)企業(yè)咨詢Redis 本質(zhì)上是一個 Key-Value 類型的內(nèi)存數(shù)據(jù)庫,很像 memcached,整個數(shù)據(jù)庫統(tǒng)統(tǒng)加載在內(nèi)存當中進行操作,定期通過異步操作把數(shù)據(jù)庫數(shù)據(jù) flush 到硬盤上進行保存。因為是純內(nèi)存操作,Redis 的性能非常出色,每秒可以處理超過 10 萬次讀寫操作,是已知性能最快的 Key-Value DB。
Redis 的出色之處不僅僅是性能,Redis 大的魅力是支持保存多種數(shù)據(jù)結(jié)構(gòu),此外單個value 的大限制是 1GB,不像 memcached 只能保存 1MB 的數(shù)據(jù),因此 Redis 可以用來實現(xiàn)很多有用的功能,比方說用他的 List 來做 FIFO 雙向鏈表,實現(xiàn)一個輕量級的高性 能消息隊列服務,用他的 Set 可以做高性能的 tag 系統(tǒng)等等。另外 Redis 也可以對存入的Key-Value 設置 expire 時間,因此也可以被當作一 個功能加強版的 memcached 來用。Redis 的主要缺點是數(shù)據(jù)庫容量受到物理內(nèi)存的限制,不能用作海量數(shù)據(jù)的高性能讀寫,因此 Redis 適合的場景主要局限在較小數(shù)據(jù)量的高性能操作和運算上。
2、Redis 相比 memcached 有哪些優(yōu)勢?
3、Redis 支持哪幾種數(shù)據(jù)類型?
String、List、Set、Sorted Set、hashes
4、Redis 主要消耗什么物理資源?
內(nèi)存。
5、Redis 的全稱是什么?
Remote Dictionary Server。
6、Redis 有哪幾種數(shù)據(jù)淘汰策略?
noeviction:返回錯誤當內(nèi)存限制達到并且客戶端嘗試執(zhí)行會讓更多內(nèi)存被使用的命令(大部分的寫入指令,但 DEL 和幾個例外)
allkeys-lru: 嘗試回收最少使用的鍵(LRU),使得新添加的數(shù)據(jù)有空間存放。
volatile-lru: 嘗試回收最少使用的鍵(LRU),但僅限于在過期集合的鍵,使得新添加的數(shù)據(jù)有空間存放。
allkeys-random: 回收隨機的鍵使得新添加的數(shù)據(jù)有空間存放。
volatile-random: 回收隨機的鍵使得新添加的數(shù)據(jù)有空間存放,但僅限于在過期集合的鍵。
volatile-ttl: 回收在過期集合的鍵,并且優(yōu)先回收存活時間(TTL)較短的鍵,使得新添加的數(shù)據(jù)有空間存放。
7、Redis 官方為什么不提供 Windows 版本?
因為目前 Linux 版本已經(jīng)相當穩(wěn)定,而且用戶量很大,無需開發(fā) windows 版本,反而會帶來兼容性等問題。
8、一個字符串類型的值能存儲大容量是多少?
512M
9、為什么 Redis 需要把所有數(shù)據(jù)放到內(nèi)存中?
Redis 為了達到最快的讀寫速度將數(shù)據(jù)都讀到內(nèi)存中,并通過異步的方式將數(shù)據(jù)寫入磁盤。
所以 Redis 具有快速和數(shù)據(jù)持久化的特征。如果不將數(shù)據(jù)放在內(nèi)存中,磁盤 I/O 速度為嚴重影響 Redis 的性能。在內(nèi)存越來越便宜的今天,Redis 將會越來越受歡迎。
如果設置了大使用的內(nèi)存,則數(shù)據(jù)已有記錄數(shù)達到內(nèi)存限值后不能繼續(xù)插入新值。
10、Redis 集群方案應該怎么做?都有哪些方案?
11、Redis 集群方案什么情況下會導致整個集群不可用?
有 A,B,C 三個節(jié)點的集群,在沒有復制模型的情況下,如果節(jié)點 B 失敗了,那么整個集群就會以為缺少 5501-11000 這個范圍的槽而不可用。
12、MySQL 里有 2000w 數(shù)據(jù),Redis 中只存 20w 的數(shù)據(jù),如何保證 Redis 中的數(shù)據(jù)都是熱點數(shù)據(jù)?
Redis 內(nèi)存數(shù)據(jù)集大小上升到一定大小的時候,就會施行數(shù)據(jù)淘汰策略。
13、Redis 有哪些適合的場景?
14、Redis 支持的 Java 客戶端都有哪些?官方推薦用哪個?
Redisson、Jedis、lettuce 等等,官方推薦使用 Redisson。
15、Redis 和 Redisson 有什么關系?
Redisson 是一個高級的分布式協(xié)調(diào) Redis 客服端,能幫助用戶在分布式環(huán)境中輕松實現(xiàn)一些 Java 的對象 (Bloom filter, BitSet, Set, SetMultimap, ScoredSortedSet, SortedSet, Map, ConcurrentMap, List,ListMultimap, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, ReadWriteLock,AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog)。
16、Jedis 與 Redisson 對比有什么優(yōu)缺點?
Jedis 是 Redis 的 Java 實現(xiàn)的客戶端,其 API 提供了比較全面的 Redis 命令的支持;Redisson 實現(xiàn)了分布式和可擴展的 Java 數(shù)據(jù)結(jié)構(gòu),和 Jedis 相比,功能較為簡單,不支持字符串操作,不支持排序、事務、管道、分區(qū)等 Redis 特性。Redisson 的宗旨是促進使用者對 Redis 的關注分離,從而讓使用者能夠?qū)⒕Ω械胤旁谔幚順I(yè)務邏輯上。
17、Redis 如何設置密碼及驗證密碼?
設置密碼:config set requirepass 123456
授權(quán)密碼:auth 123456
18、說說 Redis 哈希槽的概念?
Redis 集群沒有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 個哈希槽,每個 key 通過 CRC16 校驗后對 16384 取模來決定放置哪個槽,集群的每個節(jié)點負責一部分hash 槽。
19、Redis 集群的主從復制模型是怎樣的?
為了使在部分節(jié)點失敗或者大部分節(jié)點無法通信的情況下集群仍然可用,所以集群使用了主從復制模型,每個節(jié)點都會有 N-1 個復制品.
20、Redis 集群會有寫操作丟失嗎?為什么?
Redis 并不能保證數(shù)據(jù)的強一致性,這意味這在實際中集群在特定的條件下可能會丟失寫操作。
以上就是Redis常見面試真題和答案的詳細內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:Redis常見面試真題和答案-創(chuàng)新互聯(lián)
本文鏈接:http://bm7419.com/article12/hdcdc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、微信公眾號、外貿(mào)網(wǎng)站建設、網(wǎng)站建設、做網(wǎng)站、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容