経緯
会社でチャットボットとしてRubotyを使ってます。
Rubotyはデータの永続化にプラグインを使わないといけないんですが、今はRedis用のプラグインしか用意されていません。 (もしかしたら誰か作ってるのがあるかも)
おそらく、RubotyはHeroku + Redis To Goのような環境で運用されることを想定されていて、Redis用のプラグインしかないんだと思います。 プライベートで使ってるのはその構成なんですが、会社では自前のサーバでDockerコンテナとして動作させています。
外部のサーバに置きたくなくてそうしてるのでデータも内部に持ちたかったんですが、RubotyのためだけにRedisサーバ運用するのもなんだかなーとしばらくデータ永続化せずに使ってました。
けどこのままはアカンなーということで、LevelDBを使ってRubotyのデータを永続化できるruboty-leveldbというプラグインを作成しました!
なぜLevelDB?
正直言うと、余分なサーバ建てずにデータの永続化ができればテキストファイルでも他のKVSでもなんでも良かったんですが、使ってみたかったのでLevelDBにしました。
Rubotyのデータぐらいだと、LevelDBが他のKVSに比べてどういいのかとかは全然見えません。
個人的にはKyotoCabinetが好きで使ってたんですが、ほぼ同じ感覚で使えました。 LevelDBが流行りならLevelDBでも全然いいなーという感想です。
LevelDBについてはここがまとまってました。
使い方
Qiitaに書きました。
感想
Rubotyまわりはとてもコードが綺麗でよく見てるんですが、本当に参考になります。 ruboty-leveldbもほとんどruboty-redisまんまですw
…今気づいたんですがRubotyのREADMEでruboty-leveldbが紹介されてる…!! ありがとうございます!!