Couchbase+clojure utility belt
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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.