什麼是Redis,Redis有啥作用?

2022-10-08 21:36:24 字數 1991 閱讀 9756

1、redis是什麼?

通常而言目前的資料庫分類有幾種,包括 sql/nsql,,關聯式資料庫,鍵值資料庫等等 等,分類的標準也不以,redis本質上也是一種鍵值資料庫的,但它在保持鍵值資料庫簡單快捷特點的同時,又吸收了部分關聯式資料庫的優點。從而使它的位置處於關聯式資料庫和鍵值數 據庫之間。redis不僅能儲存strings型別的資料,還能儲存lists型別(有序)和sets型別(無序)的資料,而且還能完成排序(sort) 等高階功能,在實現incr,setnx等功能的時候,保證了其操作的原子性,除此以外,還支援主從複製等功能。

2 redis用來做什麼?

通常侷限點來說,redis也以訊息佇列的形式存在,作為內嵌的list存在,滿足實時的高併發需求。而通常在乙個電商型別的資料處理過程之中,有關商品,熱銷,推薦排序的佇列,通常存放在redis之中,期間也包擴storm對於redis列表的讀取和更新。

3 redis的優點

效能極高 – redis能支援超過 100k+ 每秒的讀寫頻率。

豐富的資料型別 – redis支援二進位制案例的 strings, lists, hashes, sets 及 ordered sets 資料型別操作。

原子 – redis的所有操作都是原子性的,同時redis還支援對幾個操作全並後的原子性執行。

豐富的特性 – redis還支援 publish/subscribe, 通知, key 過期等等特性。

4 redis的缺點

是資料庫容量受到物理記憶體的限制,不能用作海量資料的高效能讀寫,因此redis適合的場景主要侷限在較小資料量的高效能操作和運算上。

總結: redis受限於特定的場景,專注於特定的領域之下,速度相當之快,目前還未找到能替代使用產品。

在使用快取的時候,redis比memcached具有更多的優勢,並且支援更多的資料型別。

redis是什麼?兩句話可以做下概括:

1. 是乙個完全開源免費的key-value記憶體資料庫

2. 通常被認為是乙個資料結構伺服器,主要是因為其有著豐富的資料結構 strings、map、 list、sets、 sorted sets

redis不是什麼?同樣從兩個方面來做下對比:

1. 不是sql server、mysql等關係型資料庫,主要原因是:

. redis目前還只能作為小資料量儲存(全部資料能夠載入在記憶體中) ,海量資料儲存方面並不是redis所擅長的領域

. 設計、實現方法很不一樣.關係型資料庫通過表來儲存資料,通過sql來查詢資料。而redis通上述五種資料結構來儲存資料,通過命令 來查詢資料

2. 不是memcached等快取系統,主要原因有以下幾個:

.網路io模型方面:memcached是多執行緒,分為監聽執行緒、worker執行緒,引入鎖,帶來了效能損耗。redis使用單執行緒的io復用模型,將速度優勢發揮到最大,也提供了較簡單的計算功能

.記憶體管理方面:memcached使用預分配的記憶體池的方式,帶來一定程度的空間浪費 並且在記憶體仍然有很大空間時,新的資料也可能會被剔除,而redis使用現場申請記憶體的方式來儲存資料,不會剔除任何非臨時資料 redis更適合作為儲存而不是cache

.資料的一致性方面:memcached提供了cas命令來保證.而redis提供了事務的功能,可以保證一串 命令的原子性,中間不會被任何操作打斷

. 儲存方式方面:memcached只支援簡單的key-value儲存,不支援列舉,不支援持久化和複製等功能

一句話小結一下:redis是乙個高效能的key-value資料庫。 redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部分場合可以對關聯式資料庫起到很好的補充作用。

這裡對redis資料庫做下小結:

1. 提高了db的可擴充套件性,只需要將新加的資料放到新加的伺服器上就可以了

2. 提高了db的可用性,只影響到需要訪問的shard伺服器上的資料的使用者

3. 提高了db的可維護性,對系統的公升級和配置可以按shard乙個個來搞,對服務產生的影響較小

4. 小的資料庫存的查詢壓力小,查詢更快,效能更好

小結:

什麼是 Docker,使用Docker有啥好處?

docker 是乙個開源專案,這個專案旨在通過把應用程式打包為可移植的 自給自足的容器 引用語 docker一次構建可放在任何地方就可以執行,不需要進行任何改變docker 就類似於乙個容器。這個容器就好像咱們常用的虛擬機器一樣,當我們虛擬機器裡面安裝過vs sql 瀏覽器 之後咱們就把虛擬機器映象...

logo是啥 logo是什麼?

logo是什麼?logo是生活中大家最常見的事物之一,那麼logo到底是什麼意思呢?2.logo的中文翻譯就是標誌,是生活中人們用來表明某一事物特徵的記號,它以顯著 單純 容易識別的物象,來讓大家對這個事物產生乙個抽象的印象。3.logo在當今社會通常表示企業商標,比如說大家最熟悉的qq,logo就...

php是啥 php是什麼

對於經常上網或者對於程式 有一定了解的朋友來說,都會聽說過php,但就具體來說卻不知道php是什麼,下面將會為您來介紹一下php。php是什麼 php是乙個應用範圍很廣的語言,特別是在網路程式開發方面。一般來說php大多在伺服器端執行,通過執行php的 來產生網頁提供瀏覽器讀取,此外也可以用來開發命...