Couchbase+clojure utility belt
Clojure
Latest commit 16fcd27 Jun 26, 2013 @apage43 drone.io my README yo
Permalink
Failed to load latest commit information.
src/cbdrawer fix cas! Mar 28, 2013
.gitignore Updates Mar 19, 2013
README.md drone.io my README yo Jun 26, 2013
project.clj fix cas! Mar 28, 2013

README.md

cbdrawer

Build Status

A utility belt for using Couchbase Server with Clojure.

[apage43/cbdrawer "0.2.1"]

This is not currently a complete wrapping of all of the client functionality, just the parts I've needed so far.

  • Wraps some of the operations that return a java.util.concurrent.Future so that they implement IDeref, and can be used with deref/@
  • Includes spymemcached Transcoders for serializing and deserializing:
    • Clojure/EDN strings, can represent clojure datastructures and records without loss of information. These work with the default transcoder, but this is safer, readable, and much smaller than the Java serialization.
    • JSON strings, for use with Couchbase views
    • JSON SMILE a compact binary format that is equivalent to JSON. Smaller than JSON, but won't work in views.
  • Ops take keyword keys as well as strings
  • Includes a cas! function in the style of swap! and friends. (cas! conn :key-of-some-list conj :newitem)

For all functionality, see the API docs.