Redis 2.0 and GORM for Redis Released

  • submit to reddit

Mitchell is a DZone employee and has posted 1652 posts at DZone. View Full User Profile

This article is part of the DZone NoSQL Resource Portal, which is brought to you in collaboration with Neo Technology and DataStax. Visit the NoSQL Resource Portal for additional tutorials, videos, opinions, and other resources on this topic.
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.
0
Neo Technology and DataStax are leading the charge for the NoSQL movement.  You can learn more about the Neo4j Graph Database in the project discussion forums and try out the new Spring Data Neo4j, which enables POJO-based development.  You can also see how Apache Cassandra, a ColumnFamily data store, is pushing the boundaries of persistence with cloud capabilities and deployments at SocialFlow and Netflix.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)