2017-09-26 64 views
-3

我是redis的初學者,在node.js項目中使用它,當我在控制檯中看到網絡日誌結果和時間效率時,它提供了很好的結果。何時使用redis進行更好的優化?

因此,基本上在那裏MySql,firebase,nosql和mongodb在頂部的角度來看,redis會適合哪裏?我們可以使用redis進行更好的優化來替換這些最流行的數據庫,或者可以通過特定的技術來增強應用程序的作用也許它應該與JavaScript和它的框架一起使用(例如,node.js與redis有很好的類比)?

+0

「nosql」不是數據庫。 –

+0

@SergioTulentsev你錯過了json! –

回答

2

Redis廣泛用於緩存。這意味着,在高可用性基礎設施中,當需要多次訪問某些數據時,您可以將其存儲在數據庫中,然後使用一些可以使用參數輕鬆重建的獨特密鑰將其存儲在redis中。當數據更新時,您只需在redis中清除該密鑰並再次將其添加到新數據。

例如:

您有成千上萬的用戶。 他們都連接很多次,並繼續他們的個人資料。 您可能需要使用密鑰{userid}_user_info在redis中存儲他們的個人資料信息。

用戶嘗試訪問他的個人資料:如果redis的數據存在 第一張支票, 如果是退貨, 否則從數據庫獲取它,並在Redis的插入

用戶更新了他的個人資料信息,就刷新redis值。 等


還有Redis的使用另一種方式,它是排隊任務,並在計算機之間同步的WebSockets廣播。這裏是關於它 http://fiznool.com/blog/2016/02/24/building-a-simple-message-queue-with-redis/


如每使用redis的作爲數據庫的有用製品,以及用於簡單數據可以使用,像設置在那裏的簡單的鍵/值就足夠了。爲了存儲複雜的數據,這有點麻煩,特別是如果您想使用關係功能或搜索功能。 Redis是快速的,因爲它沒有所有這些功能,並且將數據保存在內存中(不僅僅是,但它確實有助於)。