運維面試整理-Redis
目錄
什么是Redis?簡述它的優缺點?
Redis相比memcached有哪些優勢?
Redis支持哪幾種數據類型?
Redis主要消耗什么物理資源?
Redis有哪幾種數據淘汰策略?
Redis官方為什么不提供Windows版本?
一個字符串類型的值能存儲最大容量是多少?
為什么Redis需要把所有數據放到內存中?
MySQL里有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據?
Redis集群方案什么情況下會導致整個集群不可用?
Redis有哪些適合的場景?
Redis如何設置密碼及驗證密碼?
Redis集群會有寫操作丟失嗎?為什么?
什么是內存溢出和內存泄露?
什么是Redis?簡述它的優缺點?
本質為Key-Value類型的內存數據庫,像memcached,在內存當中進行操作,定期通過異步操作把數據庫數據flush到硬盤上進行保存。
優點:純內存操作,Redis的性能非常出色,每秒可以處理超過 10萬次讀寫操作,是已知性能最快的Key-Value DB。持保存多種數據結構,單個value的最大限制是1GB,memcached只能保存1MB的數據。
缺點:數據庫容量受到物理內存的限制,不能用作海量數據的高性能讀寫,因此Redis適合的場景主要局限在較小數據量的高性能操作和運算上。
Redis相比memcached有哪些優勢?
(1) memcached只支持簡單的字符串,redis作為其替代者,支持更為豐富的數據類型
(2) redis的速度比memcached快很多
(3) redis可以持久化其數據
Redis支持哪幾種數據類型?
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
Redis主要消耗什么物理資源?
內存。
Redis有哪幾種數據淘汰策略?
noeviction:返回錯誤當內存限制達到并且客戶端嘗試執行會讓更多內存被使用的命令(大部分的寫入指令,但DEL和幾個例外)
allkeys-lru: 嘗試回收最少使用的鍵(LRU),使得新添加的數據有空間存放。
volatile-lru: 嘗試回收最少使用的鍵(LRU),但僅限于在過期集合的鍵,使得新添加的數據有空間存放。
allkeys-random: 回收隨機的鍵使得新添加的數據有空間存放。
volatile-random: 回收隨機的鍵使得新添加的數據有空間存放,但僅限于在過期集合的鍵。
volatile-ttl: 回收在過期集合的鍵,并且優先回收存活時間(TTL)較短的鍵,使
Redis官方為什么不提供Windows版本?
windows兼容不好,且用戶量少
一個字符串類型的值能存儲最大容量是多少?
512M
為什么Redis需要把所有數據放到內存中?
為了快速和持久化,不放入內存中的話磁盤I/O會影響性能,而且內存越來越便宜了
MySQL里有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據?
redis內存數據集大小上升到一定大小的時候,就會施行數據淘汰策略。
Redis集群方案什么情況下會導致整個集群不可用?
有A,B,C三個節點的集群,在沒有復制模型的情況下,如果節點B失敗了,那么整個集群就會以為缺少5501-11000這個范圍的槽而不可用。
Redis有哪些適合的場景?
會話緩存(Session Cache)
全頁緩存(FPC)
隊列
排行榜/計數器
發布/訂閱
Redis如何設置密碼及驗證密碼?
設置密碼:config set requirepass 123456
授權密碼:auth 123456
Redis集群會有寫操作丟失嗎?為什么?
Redis并不能保證數據的強一致性,這意味這在實際中集群在特定的條件下可能會丟失寫操
什么是內存溢出和內存泄露?
內存溢出:out of memory,是指程序在申請內存時,沒有足夠的內存空間供其使用,出現out of memory;比如申請了一個integer,但給它存了long才能存下的數,那就是內存溢出。
內存泄露:?memory leak,是指程序在申請內存后,無法釋放已申請的內存空間,一次內存泄露危害可以忽略,但內存泄露堆積后果很嚴重,無論多少內存,遲早會被占光。
Redis 運維
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。