Redisは最近、Redis 4のリリースから15カ月目に、その人気のデータベースのバージョン5を発表した。このバージョンの主要機能は新しいデータ型「Streams」のサポートである。これは、追加専用のデータ型であり、コンシューマー・グループ内で協調的なクライアントを使用したログ処理のような目的に使用できる。Streamsの実装は、Radix-TreeライブラリであるRaxをベースにしている。
Streamsは高速ルックアップおよび範囲照会をサポートする。それはチャット・システム、メッセージ・ブローカー、キューイング・システム、およびユニファイドログ・パターンの恩恵を受けるほとんどのシステムにとって有用なビルディング・ブロックである。Streamsは、コンシューマー・グループのサポートという点でApache Kafkaのメッセージパスと概念が似ているが、本質的にユニークである。ストリームは、メッセージの永続性とマスター/レプリカのレプリケーション機能もサポートする。このデータタイプは、当初はバージョン4向けに計画されていたが、追加のドキュメントと共に、バージョン5で利用できるようになった。
Redis 5ではソートセット機能も改善された。ソートされたセットの最初と最後から要素をポップする新しいコマンドが追加された。 ZPOPMAX / BZPOPMAXはをそれぞれ、最高のスコアを持つ要素をノンブロッキングとブロッキングの方法でリターンして削除する。同様に、ZPOPMIN / BZPOPMINはスコアが最も低い要素をリターンして削除する。これらのコマンドを使用すると、ソートされたセットを使用してリスト機能をシミュレートできる。
Redisモジュールは、最新バージョンで拡張されており、ClustersとTimers APIが導入されている。Timers APIを使用すると、モジュールはミリ秒までの精度の時間とコールバック関数を持つタイマーを作成できる。 Clusters API(サーバのRedisクラスタリングと混同しないでください)は、クラスタ化されたメッセージバスを実装するための抽象化を提供する。これにより、ノードは、pub/subシステムと同様に、特定のノードまたはすべてのノードにメッセージを送信できる。
このリリースには、アクティブメモリの最適化の改善やHyperLogLogのアルゴリズムの改善など、いくつかのパフォーマンス改善が含まれている。ほとんどのコマンドは、cli上の "
LOLWUTコマンドが追加された。これは、Redisユーザにとって技術的に有用というよりは、イースターエッグ的なものである。LOLWUTはGeorg NeesのSchotterというコンピュータアートのランダムなバリエーションを生成する。 LOLWUTは、60年代に何かを探究するために実益のない技術に時間を費やす必要から生まれた。著者は「ハッキングの視点で技術を話すのは簡単で、そこには壁や事前に検討されたアイデアはなく、限界があるのは探査に対してである」と信じている。
最後に、最新のRedisバージョンでは、下位互換性のために必要な場合を除いて、「スレーブ」という言葉の使用が「レプリカ」に置き換えられた。
Rate this Article
- Editor Review
- Chief Editor Action