redis是乙個開源的使用ansi c語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的apiredis 是tcp socket 網路環境,client 發包到 redis,報文格式是resp,非常短小精悍的乙個報文體系,而在服務端redis 是單執行緒阻塞接受 請求,使用socket佇列保證公平
redis ---- socket 單執行緒阻塞 accept,公平,內部處理機制為多執行緒復用
memcached -----soket多執行緒accept競爭,內部機制也是多執行緒
在單機環境下memcached要比redis效能高,但是redis從設計之初就是為集群而生,所以單執行緒不是redis的短處,好比大資料環境一下,(群狼戰猛虎)100臺普通機器 遠比 1-10臺高階伺服器要快的多,可靠的多,所以在選擇快取的時候,如果是分布式環境,較大的快取,redis無疑是更好的選擇。
此外,redis還支援資料持久化,豐富的資料型別,完善的生態環境。
redis支援資料持久化,支援擴充套件,單個value理論可達1g,而memcached 最大1mb
框架持久化
集群資料格式
資料大小
可靠性redis是是
多種單個val1g
支援持久化重啟可快速加入記憶體
memcached否是
一種單個val1mb
重啟全部清空
為什麼選擇Redis快取?
為了追求極致的產品體驗,網際網路企業架構的高效能和高可用便不可避免。而在資料庫層面,一般有以下幾種優化 1.主從配置 比如為mysql服務配置主從,則一台宕機,另一台頂上,達到高可用的要求。2.讀寫分離 配置一主多從,將讀取請求分發到從伺服器上,可以有效的提高響應速度。3.分庫分表 當資料量不斷增加...
為什麼我們基本選擇redis
例如熱搜榜 訂單表等aof和rdb 優點 redis掛了再次重啟,記憶體裡能夠快速恢復熱資料 缺點 在redis掛了的過程中,資料庫中資料修改,會導致資料庫和redis不一致redis已經有現成的,而memcache需要進行二次開發memcache的值儲存最大為1m,如果儲存值較大情況下,建議使用r...
為什麼Redis快取速度這麼快?
首先介紹下硬碟資料庫和redis的工作模式 需要先從資料讀取資料到記憶體,記憶體中的資料儲存到硬碟,我們更改硬碟的資料後在儲存到資料庫。這裡的步驟較多,而且還占用我們的硬碟容量。這種方式相比硬碟資料庫的方式少了記憶體到硬碟這一步,速度回快很多,而且不占用我們的硬碟容量。我們用的redis就是基於這種...