首頁>Club>
38
回覆列表
  • 1 # 飛哥聊

    1. 什麼是Redis一款記憶體快取記憶體資料庫(全稱遠端資料服務);使用C語言編寫Redis是一個key-value儲存系統,它支援豐富的資料型別,如:string、list、set、zset(sorted set)、hash等2.Redis特點Redis以記憶體作為資料儲存介質,所以讀寫資料的效率極高,遠遠超過資料庫。以設定和獲取一個256位元組字串為例,它的讀取速度可高達110000次/s,寫速度高達81000次/s。儲存在Redis中的資料是持久化的,斷電或重啟後,資料也不會丟失。-----Redis的儲存分為記憶體儲存、磁碟儲存和log檔案三部分,重啟後,Redis可以從磁碟重新將資料載入到記憶體中。(實現持久化)3.Redis應用場景,它能做什麼在伺服器中常用來儲存一些需要頻繁調取的資料,這樣可以大大節省系統直接讀取磁碟來獲得資料的I/O開銷,更重要的是可以極大提升速度。(拿大型網站來舉個例子,比如a網站首頁一天有100萬人訪問,其中有一個板塊為推薦新聞。要是直接從資料庫查詢,那麼一天就要多消耗100萬次資料庫請求。上面已經說過,Redis支援豐富的資料型別,所以這完全可以用Redis來完成,將這種熱點資料存到Redis(記憶體)中,要用的時候,直接從記憶體取,極大的提高了速度和節約了伺服器的開銷。)使用Redis有哪些好處?(1) 速度快,因為資料存在記憶體中,類似於HashMap,HashMap的優勢就是查詢和操作的時間複雜度都是O(1)(2) 支援豐富資料型別,支援string,list,set,sorted set,hash(3) 支援事務,操作都是原子性,所謂的原子性就是對資料的更改要麼全部執行,要麼全部不執行(4) 豐富的特性:可用於快取,訊息,按key設定過期時間,過期後將會自動刪除redis相比memcached有哪些優勢?(1) memcached所有的值均是簡單的字串,redis作為其替代者,支援更為豐富的資料型別(2) redis的速度比memcached快很多(3) redis可以持久化其資料redis常見效能問題和解決方案:(1) Master最好不要做任何持久化工作,如RDB記憶體快照和AOF日誌檔案(2) 如果資料比較重要,某個Slave開啟AOF備份資料,策略設定為每秒同步一次(3) 為了主從複製的速度和連線的穩定性,Master和Slave最好在同一個區域網內(4) 儘量避免在壓力很大的主庫上增加從庫(5) 主從複製不要用圖狀結構,用單向連結串列結構更為穩定4.redis和mysql的區別總結(1)型別上從型別上來說,mysql是關係型資料庫,redis是快取資料庫(2)作用上mysql用於持久化的儲存資料到硬碟,功能強大,但是速度較慢redis用於儲存使用較為頻繁的資料到快取中,讀取速度快(3)需求上mysql和redis因為需求的不同,一般都是配合使用。5.redis和mysql要根據具體業務場景去選型redis和mysql要根據具體業務場景去選型mysql:資料放在磁碟 redis:資料放在記憶體mysql支援sql查詢,可以實現一些關聯的查詢以及統計;redis對記憶體要求比較高,在有限的條件下不能把所有資料都放在redis;mysql偏向於存資料,redis偏向於快速取資料,但redis查詢複雜的表關係時不如mysql,所以可以把熱門的資料放redis,mysql存基本資料

  • 中秋節和大豐收的關聯?
  • 為什麼有的黃瓜會發苦?