NoSQL Zone is brought to you in partnership with:

Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2578 posts at DZone. You can read more from them at their website. View Full User Profile

Redis 2.0 and GORM for Redis Released

09.07.2010
| 10942 views |
  • submit to reddit
VMware employee Salvatore Sanfilippo has been hard at work developing Redis 2.0 and 2.2 in parallel.  Today the Google Code page announced the first stable release of 2.0.  Version 2.2 is approaching the feature freeze stage.  GORM for Redis was also announced today.

Redis 2.0 adds an AOF (Aggregate Objective Function) tool, a testing suite, and some code optimizations that have given Redis "ridiculous speed improvements."  More new features include a hash datatype, virtual memory support, Blocking pop, and pub/sub messaging.  

The new Multi/Exec command family allows multiple commands to be executed as an atomic block and blocking lists for creating producer/consumer interaction between clients.  All commands are executed one after the other once EXEC is called.  This makes sure that all of the commands are executed, or none of them, independent of the state of the client connection.  A CAS (check and set) variant of MULTI/EXEC called WATCH will be available in Redis 2.2.

Redis 2.0 adds BLPOP and BRPOP commands to support popping from a list in a blocking fashion.  These commands, which block the client connection for a certain amount of time until another client pushes an item on a list, are frequently used in producer/consumer interactions.  

The new Hashes datatype and commands allow Redis users to store many key/value pairs as the value of a single key.  Developers can also use the values inside a hash for a SORT operation.

Finally, there's the new Virtual Memory feature which lets Redis grow beyond the size of a system's RAM.  The keys are still retained in memory, but now the associated values can be switched to disk.

One other announcement today was the release of the new Grails plugin - GORM for Redis:

What is GORM for Redis? Quite simply it allows Grails developers used to the convenience of features such as dynamic finders, criteria and named queries to take advantage of Redis as their underlying store instead of Hibernate.  --Graeme Rocher, SpringSource

Redis will run on POSIX systems such as Linux, Mac OS X, Solaris, BSD, and others.  It's a BSD licensed key/value store written in ANSI C.  There are libraries written in Ruby, Python, PHP, Erlang, Java, Scala, C#, C, Clojure, and JavaScript that will access the store.