redis value多大会影响性能_redis面试总结
1. 使用Redis有哪些好處?
(1)讀寫性能優異
(2)支持數據持久化,支持AOF和RDB兩種持久化方式
(3)支持主從復制,主機會自動將數據同步到從機,可以進行讀寫分離。
(4)數據結構豐富:除了支持string類型的value外還支持string、hash、set、sortedset、list等數據結構。
2. redis相比memcached有哪些優勢?
(1)memcached所有的值均是簡單的字符串,redis作為其替代者,支持更為豐富的數據類型
(2)redis的速度比memcached快很多
(3)redis可以持久化其數據
(4)Redis支持數據的備份,即master-slave模式的數據備份。
(5)使用底層模型不同,它們之間底層實現方式 以及與客戶端之間通信的應用協議不一樣。Redis直接自己構建了VM 機制 ,因為一般的系統調用系統函數的話,會浪費一定的時間去移動和請求。
(6)value大小:redis最大可以達到1GB,而memcache只有1MB
3. redis常見性能問題和解決方案:
(1) Master最好不要做任何持久化工作,如RDB內存快照和AOF日志文件
(2) 如果數據比較重要,某個Slave開啟AOF備份數據,策略設置為每秒同步一次
(3) 為了主從復制的速度和連接的穩定性,Master和Slave最好在同一個局域網內
(4) 盡量避免在壓力很大的主庫上增加從庫
(5) 主從復制不要用圖狀結構,用單向鏈表結構更為穩定,即:Master
這樣的結構方便解決單點故障問題,實現Slave對Master的替換。如果Master掛了,可以立刻啟用Slave1做Master,其他不變。
4.?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、?Redis和Memcache都是將數據存放在內存中,都是內存數據庫。不過memcache還可用于緩存其他東西,例如圖片、視頻等等。?2、Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,hash等數據結構的存儲。?3、虛擬內存–Redis當物理內存用完時,可以將一些很久沒用到的value?交換到磁盤?4、過期策略–memcache在set時就指定,例如set key1 0 0 8,即永不過期。Redis可以通過例如expire?設定,例如expire name 10?5、分布式–設定memcache集群,利用magent做一主多從;redis可以做一主多從。都可以一主一從?6、存儲數據安全–memcache掛掉后,數據沒了;redis可以定期保存到磁盤(持久化)?7、災難恢復–memcache掛掉后,數據不可恢復; redis數據丟失后可以通過aof恢復?8、Redis支持數據的備份,即master-slave模式的數據備份。
6. Redis 常見的性能問題都有哪些?如何解決?
1.Master寫內存快照
save命令調度rdbSave函數,會阻塞主線程的工作,當快照比較大時對性能影響是非常大的,會間斷性暫停服務,所以Master最好不要寫內存快照。
2.Master AOF持久化
如果不重寫AOF文件,這個持久化方式對性能的影響是最小的,但是AOF文件會不斷增大,AOF文件過大會影響Master重啟的恢復速度。
3.Master調用BGREWRITEAOF
Master調用BGREWRITEAOF重寫AOF文件,AOF在重寫的時候會占大量的CPU和內存資源,導致服務load過高,出現短暫服務暫停現象。
7, redis 最適合的場景
Redis最適合所有數據in-momory的場景,雖然Redis也提供持久化功能,但實際更多的是一個disk-backed的功能,跟傳統意義上的持久化有比較大的差別,那么可能大家就會有疑問,似乎Redis更像一個加強版的Memcached,那么何時使用Memcached,何時使用Redis呢?
? ? ? ?如果簡單地比較Redis與Memcached的區別,大多數都會得到以下觀點:
? ? ?1 、Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
? ? ?2 、Redis支持數據的備份,即master-slave模式的數據備份。
? ? ?3 、Redis支持數據的持久化,可以將內存中的數據保持在磁盤中,重啟的時候可以再次加載進行使用
總結
以上是生活随笔為你收集整理的redis value多大会影响性能_redis面试总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python清洗完数据做什么_Pytho
- 下一篇: python矩阵相加_【python矩阵