MemcachedからRedisへ移行する為の検証をやってみた。

MemcachedからRedisへ移行検証なのか・・

Memcachedとしては、 オンメモリストレージ 、シンプルなプロトコル等といった特徴があるので性能重視の処理等で重宝して使用していたが、デメリットとして、データの揮発性があげられる。
データの揮発性を考慮し、MemcachedからRedis移行が容易にできるのかといったことを実施してみる。

各説明は本家サイトをご参照ください。
https://redis.io/
https://memcached.org/

環境、バージョンについて

・CentOS Linux release 7.5
・Redis:4.10.0
・Redis client:3.0.1
・Java:1.8.0_191

使用ライブラリーについて

・Mavenプロジェクトで作成したプロジェクトのpom.xmlに以下を追加。

簡易的なJavaクライアントを作成し、記述内容を比較

簡易的なMemcached Javaクライアント

expireの設定でミリ秒なのか、秒なのかを考慮した実装を行わないといけないので、すべてCalendarクラスを使用した変換処理が必要となっているのでひと手間が必要となっている。

簡易的なRedis Javaクライアント

expireの設定として秒、ミリ秒の設定をライブラリーとして準備されているので必要に応じて呼び出すだけとなっている。

まとめ

Memcached、Redisの簡易的なJavaクライアントを今回作成してみて、Redisを使用したクライアントの方がより、メソッドが用意されているように思われ、導入するにあたっての難易度は高くないように思いました。
上記、クライアントを200スレッド、登録、取得を 10000回 繰り返しを行った際でも、性能的にも問題になりそうな面はなさそう。
※あくまでもオンメモリー上にデータがある場合

今回の検証内容として、MemcachedからRedisに移行にするにあたってクライアント周りについて記載してみました。
次回はさらに、ファイルから取得したケースでどのくらい性能が変わってくるのか測定をやってみたいと思います。