2013-03-12 198 views
16

我目前使用Redis作爲我的應用程序,其功能非常適合我的應用程序(列表,集合,排序集等)。尋找一個基於磁盤的類似redis的數據庫

我的應用程序在很大程度上依賴於排序集,列表,集合。和他們相關的功能(推送到列表,獲取列表,集合等。我現在面臨的唯一問題是我的數據很大,我的大部分數據不需要在內存中,我想它們存儲在磁盤上。

**我需要一個磁盤上數據庫Redis的數據結構**

我讀到卡桑德拉,但我不知道它是否支持有序集合,集合,列表,或者至少如果是的話,我無法找到方法來操縱它們的Redis的方式做。

感謝。

+0

不Redis的數據保存到磁盤?我的確。它確實是 – akonsu 2013-03-12 17:48:38

+1

。但是當它在內存中運行時,你不能超出內存的大小,我想在磁盤上存儲超過內存大小的數據。 – Pacemaker 2013-03-12 18:30:11

+4

在基於磁盤的數據庫系統中具有許多redis功能是不現實的,因爲它們無法以與它們在內存中相同的方式進行存儲。例如,你不能有O(1)的查詢時間(例如,SQL中的索引簡單選擇查詢通常是O(log(n)))。但是,許多您正在尋找的功能在許多SQL數據庫中都可用 - 通常是基於磁盤的(一列有單列,主鍵是一組 - 許多數據庫支持聯合等)。 – 2013-03-13 09:24:13

回答

7

https://github.com/yinqiwen/ardb 另一個Redis的協議替代 與LMDB,RocksDB和性LevelDB基於磁盤的後端

不錯基準

+0

對於生產env,ardb不穩定。 – yegong 2016-04-11 07:59:44

+0

@yegong你是怎麼想出來的?我沒有看到任何ardb沒有準備就緒的情況。 – Peeyush 2017-02-07 12:59:25

+0

https://github.com/siddontang/ledisdb它是一個很好的基於磁盤的Redis替代品 – Slach 2017-04-28 07:09:16

-1

我鼓勵你學習Cassandra,雖然它有一些類似於鍵/值和集的東西,但它與Redis非常不同。

我們目前通過Memcached協議將一個項目從Redis(我們使用sadd/spop)移動到TokyoCabinet/KyotoCabinet。對於當下的東西看起來不錯,很快我將發表在GitHub上的lib - 會在這裏:

https://github.com/nmmmnu

和項目將被稱爲簡單的消息隊列。它只會支持sadd/spop/sismember。同樣在Python中,您將能夠使用新對象而不是Redis對象,但僅限於這三個命令。

希望這會有所幫助。


更新2014.07:

這裏是我談論的項目。

https://github.com/nmmmnu/MessageQueue

它同時實現了Redis的和Memcached的協議。對於後端它使用內存ndb/mdb或berkeley分貝。

+0

我不明白爲什麼有人會做-1。 Cassandra幾乎和redis一樣,現在我的項目已經完成,你可以在這裏看到它:https://github.com/nmmmnu/MessageQueue - redis和memcached協議都已經實現並且可以工作。當然,我的MessageQueue不能直接使用,但你可以獲得協議類並完成剩下的工作。 – Nick 2014-07-17 13:32:54

+1

我低估了它,因爲你聲明沒有這樣的數據庫,當有數據庫時。實際上,甚至有協議兼容的直接替換。所以這不能離真相更遠。我刪除了downvote,請刪除第一句話:) – 2014-07-17 16:40:23

5

有許多磁盤數據庫與Redis的類似數據結構,甚至試圖將下降,在Re​​dis的協議兼容的替換的Erlang實現的Redis的。

Is there something like Redis DB, but not limited with RAM size?」中有很好的建議 - 可惜社區認爲這樣的問題是無關緊要的。

特別是,SSDB是一個主動維護的類似Redis的磁盤數據庫(但不直接兼容),Ardb是Redis的一個主動維護的替代品,用於將數據存儲在磁盤上。免責聲明:我還沒有使用過他們(還)。

+0

感謝您的好答案。我看不出這些問題是如何脫離主題的。我發現redis的結構非常適合許多應用程序,因此必須擁有類似的磁盤數據庫。 – Pacemaker 2014-07-17 10:06:49

+0

我是SSDB(類似redis的磁盤數據庫)的作者,很多公司已經用SSDB取代了他們的redis實例,包括QIHU,BIDU。 – ideawu 2014-08-07 02:44:31