0

I use Redis extensively for several applications. On one of our servers, with data that can do with slower loading times, I'd want to use the API I have developed, but I do not want everything in memory (as that is getting too expensive). Rather I want everything written to the disk. I do not want to rewrite my entire API.

Is that possible? Is there, for instance, a bridge that allows me to use Redis commands to query mongodb?

I know about optimising memory usage in Redis.

I know about http://redis.io/topics/virtual-memory, but in my case the keys can be written to the filesystem as well.

Private
  • 2,626
  • 1
  • 22
  • 39
  • Could give this a try? https://github.com/yinqiwen/ardb, found a similar question here: http://stackoverflow.com/questions/18447380/is-there-something-like-redis-db-but-not-limited-with-ram-size – Chris Tanner Sep 08 '16 at 15:12

2 Answers2

3

Maybe Pika? https://github.com/Qihoo360/pika

"Pika is a persistent huge storage service , compatible with the vast majority of redis interfaces (details), including string, hash, list, zset, set and management interfaces. With the huge amount of data stored, redis may suffer for a capacity bottleneck, and pika was born for solving it. Except huge storage capacity, pika also support master-slave mode by slaveof command, including full and partial synchronization"

vtortola
  • 34,709
  • 29
  • 161
  • 263
2

Unfortunately - no.

There were a project on the internet that supported most of the basic commands, including set, list and zset, but it was not stable enought.

If you are using just get/set, you probably will be interested in memcachedb.

TokyoTyrant also have memcache get / set api.

I also had some test project to make sadd / srem / srandmember using python + berklydb. However it did not performet that well and made 100% disk usage even is not high preasure. Here is a link:. https://github.com/nmmmnu/MessageQueue

Finally I have new project that will use redis api, but once again, the way of working is different from redis. Here is the link:. https://github.com/nmmmnu/HM3

Update. you can probably do some wrapper to mysql or some other sql or nosql. You can either use my python script, or you can change your source code. E.g. instead to instantiate Redis class, you can write your own class, say MyRedisWrapper, then all you need is to instantiate it instead of Redis class.

Nick
  • 9,962
  • 4
  • 42
  • 80