Scalaベースのmemcachedクライアント

まあ当然作ってる人はいるんだろうなぁと思って探してみたら結構いろいろありますね。

scala-memcached

  • 実装がコンパクト(600行以下らしい)
  • テキストプロトコルをサポート
  • シンプルなコネクションプーリング機能を持っている

memcached.scala

  • Javaのnioを使って実装されている
  • バイナリプロトコルをサポート
  • コネクションプーリング機能も持っている(使わないことも可能)
  • まだプロダクションで使えるレベルじゃないよ、と明記されているw

SMILE

  • Actorベースで高速&並列性を重視
  • まだgetとsetしか実装されていない?(TODOに「最低限deleteとaddを追加する」と書いてあるので全部のコマンドを実装する気はそもそもないのかも?)

実際にコードを見てある程度使い込んでみないとどれがいいのかはわかりませんが、SMILEはActorを使っているのはちょっと面白そうです。これらのクライアントライブラリのほかにsmemcachedというScalaで実装されたmemcachedサーバも存在します。これもJavaのnioを使った非同期I/Oを用いているそうです。