Fans

9

Votes

13

Jobs

4

Hacker News, Reddit, Stack Overflow Stats

GitHub Stats

Description

What is
Redis?

Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

What is
LokiJS?

LokiJS is a document oriented database written in javascript, published under MIT License. Its purpose is to store javascript objects as documents in a nosql fashion and retrieve them with a similar mechanism. Runs in node (including cordova/phonegap and node-webkit), nativescript and the browser.

What is
VoltDB?

VoltDB is a fundamental redesign of the RDBMS that provides unparalleled performance and scalability on bare-metal, virtualized and cloud infrastructures. VoltDB is a modern in-memory architecture that supports both SQL + Java with data durability and fault tolerance.

Reviews of Redis, LokiJS, and VoltDB

batir-akhmerov

Good for a cluster, much slower than EhCache

February 17, 2017 18:25

Redis is a good caching tool for a cluster, but our application had performance issues while using Aws Elasticache Redis since some page had 3000 cache hits per a page load and Redis just couldn't quickly process them all in once + latency and object deseialization time - page load took 8-9 seconds. We create a custom hybrid caching based on Redis and EhCache which worked great for our goals. Check it out on github, it's called HybriCache - https://github.com/batir-akhmerov/hybricache.

Ease of Use
Documentation
Reliability
Support

How developers use Redis vs LokiJS vs VoltDB

Trello uses Redis for ephemeral data that needs to be shared between server processes but not persisted to disk. Things like the activity level of a session or a temporary OpenID key are stored in Redis, and the application is built to recover gracefully if any of these (or all of them) are lost. We run with allkeys-lru enabled and about five times as much space as its actual working set needs, so Redis automatically discards data that hasn’t been accessed lately, and reconstructs it when necessary.

The UI has message inbox that is sent a message when you get a new badge, receive a message, significant event, etc. Done using WebSockets and is powered by redis. Redis has 2 slaves, SQL has 2 replicas, tag engine has 3 nodes, elastic has 3 nodes - any other service has high availability as well (and exists in both data centers).

Redis is used for storing all ephemeral (that's data you don't necessarily want to store permanently) user data, such as mapping of session IDs (stored in cookies) to current session variables at Cloudcraft.co. The many datastructures supported by Redis also makes it an excellent caching and realtime statistics layer. It doesn't hurt that the author, Antirez, is the nicest guy ever! These days, I would be really hard pressed to find any situation where I would pick something like Memcached over Redis.

Used as a caching layer (when we need more functionality than simple key-value storage); keeping lists of online users, used for our smart-assigning feature, keeping track of sliding-window rate limiting information.

We use redis as a cache. Nothing too fancy here. At one point we were using it to cache character information, but we've since moved that entirely to DynamoDB and are evaluating the performance before we bring redis back in.

I use Redis for cacheing, data storage, mining and augmentation, proprietary distributed event system for disparate apps and services to talk to each other, and more. Redis has some very useful native data types for tracking, slicing and dicing information.

Redis makes certain operations very easy. When I need a high-availability store, I typically look elsewhere, but for rapid development with the ability to land on your feet in prod, Redis is great. The available data types make it easy to build non-trivial indexes that would require complex queries in postgres.

Provides a super-fast cache layer between our API and database, allowing us to handle surprise bursts of users without overloading database. Response time on a cached request is usually <20ms processing, compared to ~500ms on a heavy database request.

Redis is probably the single piece of software we love the most. We just love its simplicity, speed and we use it for caching data, storing user sessions, and making leaderboards. It just works perfectly for us.