Sì, ci sono due alternative a Redis che non sono limitate dalle dimensioni della RAM pur rimanendo compatibili con il protocollo Redis:
Ardb (C++), replica (Master-Slave/Master-Master):https://github.com/yinqiwen/ardb
Un server di archiviazione persistente compatibile con il protocollo redis, supportLevelDB/KyotoCabinet/LMDB come motore di archiviazione.
Edis (Erlang):https://github.com/cbd/edis
Edis è un sostituto del server compatibile con il protocollo per Redis, scritto in Erlang. L'obiettivo di Edis è quello di sostituire Redis quando la persistenza è più importante della conservazione del set di dati in memoria. Edis (attualmente) utilizza leveldb di Google come backend.
E per completezza ecco un altro database di strutture dati:
Hyperdex (stringhe, numeri interi, float, elenchi, insiemi, mappe):http://hyperdex.org/doc/latest/DataTypes/#chap:data-types
HyperDex è:
- Veloce:HyperDex ha una latenza inferiore, un throughput più elevato e una varianza inferiore rispetto ad altri archivi chiave-valore.
- Scalabile:HyperDex ridimensiona più macchine vengono aggiunte al sistema.
- Coerente:HyperDex garantisce la linearizzabilità per le operazioni basate su chiavi. Pertanto, una lettura restituisce sempre l'ultimo valore inserito nel sistema. Non solo "alla fine", ma immediatamente e sempre.
- Tolleranza agli errori:HyperDex replica automaticamente i dati su più macchine in modo che gli errori simultanei, fino a un limite determinato dall'applicazione, non provochino la perdita di dati. Ricercabile:
- HyperDex consente ricerche efficienti di attributi di dati secondari.
- Facile da usare:HyperDex fornisce API per una varietà di scripting e linguaggi nativi.
- Automanutenzione:un HyperDex è autosufficiente e richiede poca manutenzione da parte dell'utente.