1、什么是Redis?
2、Redis相比memcached有哪些優勢?
3、Redis支持哪幾種數據類型?
4、Redis主要消耗什么物理資源?
5、Redis的全稱是什么?
6、Redis有哪幾種數據淘汰策略?
7、Redis官方為什么不提供Windows版本?
8、一個字符串類型的值能存儲最大容量是多少?
9、為什么Redis需要把所有數據放到內存中?
10、Redis集群方案應該怎么做?都有哪些方案?
11、Redis集群方案什么情況下會導致整個集群不可用?
12、MySQL里有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據?
13、Redis有哪些適合的場景?
14、Redis支持的Java客戶端都有哪些?官方推薦用哪個?
15、Redis和Redisson有什么關系?
16、Jedis與Redisson對比有什么優缺點?
17、Redis如何設置密碼及驗證密碼?
18、說說Redis哈希槽的概念?
19、Redis集群的主從復制模型是怎樣的?
20、Redis集群會有寫操作丟失嗎?為什么?
21、Redis集群之間是如何復制的?
22、Redis集群最大節點個數是多少?
23、Redis集群如何選擇數據庫?
24、怎么測試Redis的連通性?
25、Redis中的管道有什么用?
26、怎么理解Redis事務?
27、Redis事務相關的命令有哪幾個?
28、Redis key的過期時間和永久有效分別怎么設置?
29、Redis如何做內存優化?
30、Redis回收進程如何工作的?
31、Redis回收使用的是什么算法?
32、Redis如何做大量數據插入?
33、為什么要做Redis分區?
34、你知道有哪些Redis分區實現方案?
35、Redis分區有什么缺點?
36、Redis持久化數據和緩存怎么做擴容?
37、分布式Redis是前期做還是后期規模上來了再做好?為什么?
38、Twemproxy是什么?
39、支持一致性哈希的客戶端有哪些?
40、Redis與其他key-value存儲有什么不同?
41、Redis的內存占用情況怎么樣?
42、都有哪些辦法可以降低Redis的內存使用情況呢?
https://www.cnblogs.com/jandison/p/6902396.html
43、查看Redis使用情況及狀態信息用什么命令?
info
44、Redis的內存用完了會發生什么?
我們知道,redis設置配置文件的maxmemory參數,可以控制其最大可用內存大小(字節)。
那么當所需內存,超過maxmemory怎么辦?
這個時候就該配置文件中的maxmemory-policy出場了。
其默認值是noeviction。
下面我將列出當可用內存不足時,刪除redis鍵具有的淘汰規則。
規則名稱 |
規則說明 |
volatile-lru |
使用LRU算法刪除一個鍵(只對設置了生存時間的鍵) |
allkeys-lru |
使用LRU算法刪除一個鍵 |
volatile-random |
隨機刪除一個鍵(只對設置了生存時間的鍵) |
allkeys-random |
隨機刪除一個鍵 |
volatile-ttl |
刪除生存時間最近的一個鍵 |
noeviction |
不刪除鍵,只返回錯誤 |
LRU算法,least RecentlyUsed,最近最少使用算法。也就是說默認刪除最近最少使用的鍵。
但是一定要注意一點!redis中並不會准確的刪除所有鍵中最近最少使用的鍵,而是隨機抽取3個鍵,刪除這三個鍵中最近最少使用的鍵。
那么3這個數字也是可以設置的,對應位置是配置文件中的maxmeory-samples
45、Redis是單線程的,如何提高多核CPU的利用率?
一個機器通過不同端口開多個實例
46、一個Redis實例最多能存放多少的keys?List、Set、Sorted Set他們最多能存放多少元素?
232
47、Redis常見性能問題和解決方案? 關於redis性能問題分析和優化可參考 https://www.cnblogs.com/chenpingzhao/p/6859041.html
1.Master最好不要做任何持久化工作,包括內存快照和AOF日志文件,特別是不要啟用內存快照做持久化。
2.如果數據比較關鍵,某個Slave開啟AOF備份數據,策略為每秒同步一次。
3.為了主從復制的速度和連接的穩定性,Slave和Master最好在同一個局域網內。
4.盡量避免在壓力較大的主庫上增加從庫
5.為了Master的穩定性,主從復制不要用圖狀結構,用單向鏈表結構更穩定,即主從關系為:Master<--Slave1<--Slave2<--Slave3.......,這樣的結構也方便解決單點故障問題,實現Slave對Master的替換,也即,如果Master掛了,可以立馬啟用Slave1做Master,其他不變。
48、Redis提供了哪幾種持久化方式?
https://www.cnblogs.com/chenliangcl/p/7240350.html
49、如何選擇合適的持久化方式?
根據不同需求 選擇
50、修改配置不重啟Redis會實時生效嗎?
Config set parameter value 命令可以動態地調整 Redis 服務器的配置(configuration)而無須重啟
可以通過 Config get *
看看哪些參數 redis可以動態設置