如何建立一個網(wǎng)站放視頻適合小學(xué)生的新聞事件
11.1 談?wù)勀銓edis的理解
難度:★★★
重點:★★
白話解析
對Redis的理解無非從三個方面去說一說:背景,是什么,特性。
背景:數(shù)據(jù)直接存磁盤太慢了,雖然MySQL用到了BufferPool等緩存,但是為了保證數(shù)據(jù)不丟失,MySQL采用的RedoLog依然要直接寫磁盤。所以,數(shù)據(jù)的存儲就成為了制約性能的瓶頸了。
有些不是特別重要的數(shù)據(jù)如果也直接寫磁盤就太慢了,這個時候Redis出現(xiàn)了,它為了高性能的讀寫,在一定的范圍內(nèi),放棄了小部分的數(shù)據(jù)安全性,這也是可以接受的。
是什么:無他,內(nèi)存型數(shù)據(jù)庫而已。
特性:
-
內(nèi)存存儲:數(shù)據(jù)存在內(nèi)存中,讀寫快。
-
能存的數(shù)據(jù)種類多:雖然都是key、value結(jié)構(gòu),但是value可以存儲很多的數(shù)據(jù)類型,如字符串、哈希、列表、集合和有序集合等。
-
能持久化:Redis支持RDB和AOF兩種持久化方式,可以將數(shù)據(jù)保存到磁盤中,以保證數(shù)據(jù)的可靠性和安全性。
-
高并發(fā):Redis采用單線程模型,避免了多線程的競爭和鎖的開銷,因此能夠處理高并發(fā)請求
-
高可用性:Redis支持主從復(fù)制和哨兵機(jī)制,可以實現(xiàn)高可用性和自動故障轉(zhuǎn)移。
-
分布式:Redis Cluster可以將數(shù)據(jù)分布在多個節(jié)點上,實現(xiàn)分布式存儲和負(fù)載均衡。
-
有多種語言的SDK:所以J