Yes, there are two alternatives to Redis that are not limited by RAM size while remaining compatible with Redis protocol:
Ardb (C++), replication(Master-Slave/Master-Master): https://github.com/yinqiwen/ardb
A redis-protocol compatible persistent storage server, support
LevelDB/KyotoCabinet/LMDB as storage engine.
Edis (Erlang): https://github.com/cbd/edis
Edis is a protocol-compatible Server replacement for Redis, written in
Erlang. Edis's goal is to be a drop-in replacement for Redis when
persistence is more important than holding the dataset in-memory. Edis
(currently) uses Google's leveldb as a backend.
And for completeness here is another data-structures database:
Hyperdex (Strings, Integers, Floats, Lists, Sets, Maps): http://hyperdex.org/doc/latest/DataTypes/#chap:data-types
HyperDex is:
- Fast: HyperDex has lower latency, higher throughput, and lower
variance than other key-value stores.
- Scalable: HyperDex scales as
more machines are added to the system.
- Consistent: HyperDex guarantees
linearizability for key-based operations. Thus, a read always returns
the latest value inserted into the system. Not just “eventually,” but
immediately and always.
- Fault Tolerant: HyperDex automatically
replicates data on multiple machines so that concurrent failures, up
to an application-determined limit, will not cause data loss.
Searchable:
- HyperDex enables efficient lookups of secondary data
attributes.
- Easy-to-Use: HyperDex provides APIs for a variety of
scripting and native languages.
- Self-Maintaining: A HyperDex is
self-maintaining and requires little user maintenance.