Java知識分享網 - 輕松學習從此開始!????

Java知識分享網

Java1234官方群25:java1234官方群25
Java1234官方群25:838462530
     

GIT視頻教程(結合github,碼云)免費領取

BAT一線大廠筆試面試打包下載

java1234.vip企業級站點全新上線(可以領取站點源碼)

SpringBoot打造企業級進銷存

Java1234 VIP課程

領取微信掃碼登錄Java實現視頻教程

Java1234至尊VIP(特價活動)

redis面試題及其答案 PDF 下載


分享到:
時間:2020-07-10 14:15來源:http://www.luygg.com 作者:小鋒  侵權舉報
redis面試題及其答案 PDF 下載
失效鏈接處理
redis面試題及其答案  PDF 下載

本站整理下載:
 
相關截圖:
 
主要內容:

Redis主要有哪些功能?
1. 哨兵(Sentinel)和復制(Replication)Redis服務器毫無征兆的罷工是個麻煩事,如何保證備份的機器
是原始服務器的完整備份呢?這時候就需要哨兵和復制。Sentinel可以管理多個Redis服務器,它提供了
監控,提醒以及自動的故障轉移的功能,Replication則是負責讓一個Redis服務器可以配備多個備份的服
務器。Redis也是利用這兩個功能來保證Redis的高可用的
2. 事務很多情況下我們需要一次執行不止一個命令,而且需要其同時成功或者失敗。redis對事務的支持也是
源自于這部分需求,即支持一次性按順序執行多個命令的能力,并保證其原子性。(多個指令不支持)
3. LUA腳本在事務的基礎上,如果我們需要在服務端一次性的執行更復雜的操作(包含一些邏輯判斷),則
lua就可以排上用場了
4. 持久化redis的持久化指的是redis會把內存的中的數據寫入到硬盤中,在redis重新啟動的時候加載這些數
據,從而最大限度的降低緩存丟失帶來的影響。
5. 集群(Cluster)單臺服務器資源的總是有上限的,CPU資源和IO資源我們可以通過主從復制,進行讀寫
分離,把一部分CPU和IO的壓力轉移到從服務器上,這也有點類似mysql數據庫的主從同步。在Redis官
方的分布式方案出來之前,有twemproxy和codis兩種方案,這兩個方案總體上來說都是依賴proxy來進
行分布式的。
Redis支持哪幾種數據類型?
支持多種類型的數據結構
1. string:最基本的數據類型,二進制安全的字符串,最大512M。
2. list:按照添加順序保持順序的字符串列表。
3. set:無序的字符串集合,不存在重復的元素。
4. sorted set:已排序的字符串集合。
5. hash:key-value對的一種集合。
類型 最大存儲數量
String 512M
list 2^32-1
set 2^32-1
sorted set 2^32-1
hash 2^32-1
Redis是單進程單線程的?
Redis是單進程單線程的,Redis利用隊列技術將并發訪問變為串行訪問,消除了傳統數據庫串行控制的
開銷。
Redis為什么是單線程的?
多線程處理會涉及到鎖,而且多線程處理會涉及到線程切換而消耗CPU。因為CPU不是Redis的瓶頸,
Redis的瓶頸最有可能是機器內存或者網絡帶寬。單線程無法發揮多核CPU性能,不過可以通過在單機開
多個Redis實例來解決。
其它開源軟件采用的模型
1. Nginx:多進程單線程模型
2. Memcached:單進程多線程模型
使用Redis的優勢?
1. 速度快,因為數據存在內存中,類似于HashMap,HashMap的優勢就是查找和操作的時間復雜度都是
O(1)
2. 支持豐富數據類型,支持string,list,set,sortedset,hash
3. 支持事務,操作都是原子性,所謂的原子性就是對數據的更改要么全部執行,要么全部不執行
4. 豐富的特性:可用于緩存,消息,按key設置過期時間,過期后將會自動刪除
Redis單點吞吐量
單點TPS達到8萬/秒,QPS達到10萬/秒,補充下TPS和QPS的概念
1. QPS:應用系統每秒鐘最大能接受的用戶訪問量
每秒鐘處理完請求的次數,注意這里是處理完,具體是指發出請求到服務器處理完成功返回結果。可以理解在
server中有個counter,每處理一個請求加1,1秒后counter=QPS。
2. TPS:每秒鐘最大能處理的請求數
每秒鐘處理完的事務次數,一個應用系統1s能完成多少事務處理,一個事務在分布式處理中,可能會對應多個
請求,對于衡量單個接口服務的處理能力,用QPS比較合理。
Redis相比memcached有哪些優勢?
1. memcached所有的值均是簡單的字符串,Redis作為其替代者,支持更為豐富的數據類型
2. Redis的速度比memcached快很多
3. Redis可以持久化其數據4.Redis支持數據的備份,即master-slave模式的數據備份。
Redis有哪幾種數據淘汰策略?
在Redis中,允許用戶設置最大使用內存大小server.maxmemory,當Redis內存數據集大小上升到一定
大小的時候,就會施行數據淘汰策略。
1. volatile-lru:從已設置過期的數據集中挑選最近最少使用的淘汰
2. volatile-ttr:從已設置過期的數據集中挑選將要過期的數據淘汰
3. volatile-random:從已設置過期的數據集中任意挑選數據淘汰
4. allkeys-lru:從數據集中挑選最近最少使用的數據淘汰
5. allkeys-random:從數據集中任意挑選數據淘汰
6. noenviction:禁止淘汰數據redis
淘汰數據時還會同步到aof

 
 
------分隔線----------------------------
鋒哥公眾號


鋒哥微信號


關注公眾號
【Java資料站】
回復 666
獲取 
66套java
從菜雞到大神
項目實戰課程
日本色在线