TL;DR

Spyglass is a very fast Clojure client for Memcached (as well as Couchbase and Kestrel) built on top of SpyMemcached.

1.1.0-beta3 is a preview release that has breaking changes in clojurewerkz.spyglass.cache.

Changes between 1.1.0-beta2 and 1.1.0-beta3

Clojure 1.5 By Default

Spyglass now depends on org.clojure/clojure version 1.5.1. It is still compatible with Clojure 1.3+ and if your project.clj depends on a different version, it will be used, but 1.5 is the default now.

We encourage all users to upgrade to 1.5, it is a drop-in replacement for the majority of projects out there.

Asynchronous Cache Store

Spyglass now ships both sync and async implementations of clojure.core.cache.

To instantiate async store, use clojurewerkz.spyglass.cache/async-spyglass-cache-factory. clojurewerkz.spyglass.cache/spyglass-cache-factory was renamed to clojurewerkz.spyglass.cache/sync-spyglass-cache-factory.

Contributed by Joseph Wilk.

Fix Authentication Support

clojurewerkz.spyglass.client/text-connection and clojurewerkz.spyglass.client/bin-connection no longer fail when credentials are passed in.

Empty gets Responses

clojurewerkz.spyglass.client/gets now correctly handles responses for keys that do not exist.

GH issue: #4.

Change Log

We recommend all users to give 1.1.0-beta3 a try.

Spyglass change log is available on GitHub.

Spyglass is a ClojureWerkz Project

Spyglass is part of the group of libraries known as ClojureWerkz, together with

  • Langohr, a Clojure client for RabbitMQ that embraces the AMQP 0.9.1 model
  • Elastisch, a minimalistic Clojure client for ElasticSearch
  • Monger, a Clojure MongoDB client for a more civilized age
  • Neocons, a feature rich idiomatic Clojure client for the Neo4J REST API * Welle, a Riak client with batteries included
  • Quartzite, a powerful scheduling library

and several others. If you like Spyglass, you may also like our other projects.

Let us know what you think on Twitter or on the Clojure mailing list.

Michael on behalf of the ClojureWerkz Team