Parthenon Software Group

Redis

Redis was billed as a "memory-based data structure store" when it came out. Its design was beautiful in its simplicity: A single thread accepted connections and stored/retrieved single values, lists, and dictionaries in memory as text, while a second thread periodically dumped the memory to a file that could be reloaded again on startup. A few other commands allowed data to be shared between Redis servers to scale the design up.

Redis is by no means an ACID-compliant database like MySQL or PostgreSQL, but we've used it for small or short-term storage such as for URL-shortening applications. It can be used as a cache (values can be set to expire), a messaging queue, or a shared locking system that doesn't use files. Since it writes values to memory, it is very fast, though it's not a good idea to store large datasets in it because it requires all the data to fit in system memory. Its single threading makes it weak for large amounts of simultaneous connections, although it is fast enough that many times that doesn't matter.

Parthenon has used Redis since it came out, for all the purposes described above and more. We've implemented write-heavy statistics systems that would crash traditional databases, locking queues for separate applications to communicate, and chat apps with auto-expiring messages, among others. Redis continues to be a handy Swiss army knife in our toolbox.  We've optimized sites built on Python, PHP and even Javascript.

Web. Mobile. Open Source.

Accomplish your software projects fast with our experience.

Get A Free Estimate