參考文章 http://www.cnblogs.com/wupeiqi/articles/5132791.html 使用Redis有哪些好處? (1) 速度快,因為數據存在內存中,類似於HashMap,HashMap的優勢就是查找和操作的時間復雜度都是O(1) (2) 支持豐富數據類型,支持string,list,set,sorted set,hash (3) 支持事務,操作都是原子性,所謂的原子性就是對數據的更改要么全部執行,要么全部不執行 (4) 豐富的特性:可用於緩存,消息,按key設置過期時間,過期后將會自動刪除 2. redis相比memcached有哪些優勢? (1) memcached所有的值均是簡單的字符串,redis作為其替代者,支持更為豐富的數據類型 (2) redis的速度比memcached快很多 (3) redis可以持久化其數據 3. redis常見性能問題和解決方案: (1) Master最好不要做任何持久化工作,如RDB內存快照和AOF日志文件 (2) 如果數據比較重要,某個Slave開啟AOF備份數據,策略設置為每秒同步一次 (3) 為了主從復制的速度和連接的穩定性,Master和Slave最好在同一個局域網內 (4) 盡量避免在壓力很大的主庫上增加從庫 (5) 主從復制不要用圖狀結構,用單向鏈表結構更為穩定,即:Master <- Slave1 <- Slave2 <- Slave3... 這樣的結構方便解決單點故障問題,實現Slave對Master的替換。如果Master掛了,可以立刻啟用Slave1做Master,其他不變。 MySQL里有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據 相關知識:redis 內存數據集大小上升到一定大小的時候,就會施行數據淘汰策略。redis 提供 6種數據淘汰策略: voltile-lru:從已設置過期時間的數據集(server.db[i].expires)中挑選最近最少使用的數據淘汰 volatile-ttl:從已設置過期時間的數據集(server.db[i].expires)中挑選將要過期的數據淘汰 volatile-random:從已設置過期時間的數據集(server.db[i].expires)中任意選擇數據淘汰 allkeys-lru:從數據集(server.db[i].dict)中挑選最近最少使用的數據淘汰 allkeys-random:從數據集(server.db[i].dict)中任意選擇數據淘汰 no-enviction(驅逐):禁止驅逐數據 5. Memcache與Redis的區別都有哪些? 1)、存儲方式 Memecache把數據全部存在內存之中,斷電后會掛掉,數據不能超過內存大小。 Redis有部份存在硬盤上,這樣能保證數據的持久性。 2)、數據支持類型 Memcache對數據類型支持相對簡單。 Redis有復雜的數據類型。 3),value大小 redis最大可以達到1GB,而memcache只有1MB
