Reputation: 44090
I need a recommendation for a key-value store. Here's my criteria:
put
) will happen only occasionally, always in large datasets (bulk)Get
will be random and needs to be fastUpvotes: 4
Views: 555
Reputation: 485
Aerospike would be a perfect because of below reasons:
Upvotes: 5
Reputation: 44706
Redis sounds like the right thing to use here. It's all in memory so it's very fast (The GET and SET operations are both O(1)) and it supports both Ruby and Java clients.
Upvotes: 6
Reputation: 67417
1 and 3 both scream a database engine.
If your number of records isn't insane and you only have one client using this thing at the same time, I would personally recommend sqlite, which works with both Java and Ruby (also would pass #5). Otherwise go with a real database system, like MySql (since you're not on the Microsoft stack).
Upvotes: 0
Reputation: 942
An AVL-Tree will give you O(log n) on insert, remove, search and most everything else.
Upvotes: 0