Something else to look at might be the Apache Jackrabbit project at http://jackrabbit.apache.org/.
I've been looking at tools along these lines as well, and recently looked at Redis for the same reasons. Right now, though, I'm focusing my attention on Jackrabbit which is an implementation of the JSR170 repository specifications. It supports hierarchical data and lists. I was looking for some way to save dynamic objects (basically runtime defined maps) and this looks like it might work. JSR170 defines a repository as: "A content repository consists of one or more workspaces, each of which contains a tree of items. An item is either a node or a property. Each node may have zero or more child nodes and zero or more child properties. There is a single root node per workspace, which has no parent. All other nodes have one parent. Properties have one parent (a node) and cannot have children; they are the leaves of the tree. All of the actual content in the repository is stored within the values of the properties." The available property types cover what appear to be all the bases, including references to other nodes to prevent cycles when serializing. It can support annotated Java objects or use the Node building capability directly and allows querying similar to XPath. Since it is a Java project, using it from Clojure should be trivial to use. On Dec 31, 5:29 am, Steve Purcell <st...@sanityinc.com> wrote: > Not sure if it's any help, but here's a variant of memoize I wrote, which > stores arbitrary readable/printable objects to redis: > > http://gist.github.com/266689 > > (If there's any interest, I'll wrap it up in a github project and push it to > clojars.) > > Redis isn't a hierarchical store, so its array/set operations would only > benefit the most shallow of data structures. > > -Steve > > On 30 Dec 2009, at 11:52, Gabi wrote: > > > On first look, Redis and Clojure seems to be a perfect match. They > > both handle sets and maps efficiently. If one could find an easy way > > to store and retrieve Clojure data structures to Redis (even a small > > subset- just a list or a set), a distributed clojure app could be very > > easy (and effective?) thing to do - The stateless Clojure nodes would > > share and operate on the same central data structure which is stored > > in Redis). What do you thing ? Is it worth investigating further? > > > -- > > You received this message because you are subscribed to the Google > > Groups "Clojure" group. > > To post to this group, send email to clojure@googlegroups.com > > Note that posts from new members are moderated - please be patient with > > your first post. > > To unsubscribe from this group, send email to > > clojure+unsubscr...@googlegroups.com > > For more options, visit this group at > >http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en