Redis 3.2.0がリリースされました!
原文は Salvatore Sanfilippo により に公開されました。 このブログを購読する
予想以上に時間がかかりましたが、ついにリリースされました。Redis 3.2.0の安定版が登場し、多くのRedisユーザーにとって有用な変更が含まれています。ここまで何度か変更点について触れてきましたが、主なものは以下のとおりです。
- GEO API。緯度・経度で任意のデータをインデックスし、半径で検索できます。Redisの他のデータ構造と同様の速度と使いやすさを備えています。APIのドキュメントはこちらをご覧ください: http://redis.io/commands/#geo。初期実装を提供してくれたMatt Stancliff氏に感謝します。実装はその後手が加えられましたが、今もGEO APIの中核をなしています。また、Matt氏が利用したジオインデックスのコードを提供してくれたARDBの開発者の皆さんにも感謝します。
- 新しいBITFIELDコマンドにより、Redisの文字列を、ユーザーが指定したサイズとオフセットを持つ複数の整数からなるビット配列として扱えるようになりました。小さな(あるいは大きな)整数をカウンターとして活用するためのインクリメント・デクリメントをサポートし、オーバーフロー時の挙動も細かく制御できます。http://redis.io/commands/bitfield。このクレイジーなアイデアを推し進め、実装を後押ししてくれたYoav Steinberg氏に感謝します。
- Redis Clusterにも多くの改善が加えられました。redis-tribでのリバランス機能や、より優れたレプリカの移行などが含まれます。ただし、NAT環境やDockerのポートフォワーディングへの対応は「unstable」ブランチでは実装済みですが、成熟度への懸念から3.2にはバックポートされていません。
- Luaスクリプトのレプリケーションの改善。副作用を含むスクリプトを記述するために「effects replication」を使えるようになりました。ドキュメントはこちらです: http://redis.io/commands/EVAL。この機能の追加を促し、設計にも協力してくれたYossi Gottlieb氏に感謝します。
- 本格的なLuaスクリプトデバッガも登場しました: https://www.youtube.com/watch?v=IMvRfStaoyM。redis-cliから利用できます。Luaスクリプティングの初期から複雑なスクリプトを手がけてきたItamar Haber氏に感謝します。同氏がこの機能を強く望み、開発中も協力してくれました。
- Oran Agra氏によるSDSとJemallocのサイズクラス設定への変更により、Redisのメモリ効率が向上しました。また、Matt Stancliff氏による新しいListの内部表現も導入され、大きなリストの表現に必要なメモリが従来のほんの数パーセントで済むようになりました!
- そしてついに、読み取り操作中にどのキーが期限切れかについて、スレーブとマスターの認識が一致するようになりました。やっとですね :-)
- SPOPがオプションのcount引数を受け付けるようになりました。初期実装を提供してくれたAlon Diamant氏に感謝します。後にパフォーマンスのために私がかなり書き直し、結果としてかなり高速なものになりました。
- RDB AUXフィールド。RDBファイルの中に、生成したサーバーや生成日時などの情報が含まれるようになりました。近いうちに(おそらく3.2.1で)redis-cliでこれらのフィールドを解析できるようになる予定です。ちょっとした作業なのですが、正直、このノートを書いていて今思い出したところです。
- RDBの読み込みが高速になりました。
- Sentinelは多数のマスターを監視する規模にも対応できるようになりましたが、安定版というよりは高度なベータ版と考えてください。Sentinel内部のコードが大幅に変更されているため、本番環境に導入する前にご自身の環境で慎重にテストしてください。
- 他にも多くの変更がありますが、このリストだけでも十分長いのでここまでにしておきます。
このリリースを実現してくれたすべてのコントリビューターの皆さん、温かく励ましてくれるRedisユーザーの皆さん、そして3.2.0に注がれた作業の多くを支援してくれたRedis Labsに心から感謝します。
この数週間は、次のバージョンのRedisでリリース予定の興味深い新機能にも取り組みました。5月10〜11日にサンフランシスコで開催されるRedisConf 2016で発表予定ですので、どうぞご期待ください!
安定性について一言。いつも言っていることですが、ソフトウェアの安定性は白黒はっきりしているものではありません。ピンクや黄色や緑のようなものです。なんて冗談です。いつものようにグレーの濃淡があるのです。3.2.0は堅牢に見えますが、まだ出たばかりのものです。段階的に使い始め、ご自身の環境で動作を確認し、何か問題があればすぐに報告してください。とはいえ、長い間RC版として公開されていたため、新機能をどうしてもすぐに使いたかった勇敢なユーザーたちによって、すでにテストされているのも事実です。
3.2.0の完全な変更履歴はこちらにあります: https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES
Redis 3.2.0はhttp://download.redis.ioからtarballとして入手するか、GitHubのantirez/redisリポジトリから3.2.0タグを取得することで入手できます。
お楽しみください!
記事をランダムに読む
コメント
ログインしてコメントする