web-dev-qa-db-ja.com

Redis:キー/値のサイズを制限するための構成オプション?

私の上司は最近、会話の中で、Redisが最大キーまたはキー/値のサイズを制御するためのいくつかの構成オプションをサポートしていると主張しました...したがって、アプリケーションがたとえば50KBを超えるキーまたはキー/値のペアを作成しないようにいくつかのオプションを設定できます。

私の印象では、そのようなオプションは存在せず、そのような機能を追加するには、ソースにパッチを適用し、独自にビルドする必要があります。 (この質問では、アプリケーションプログラマーにLuaスクリプトまたはtwemproxyなどを介してすべてのアクセスを仲介するように強制することはできません)。

Redis:Documentation どこかで何かを見逃しましたか?

また、最近のフェイルオーバーのベストプラクティスは何ですか? Redis Sentinelはプライムタイムの準備ができていますか? Linux-HA OCF Heartbeat/Pacemaker/Cluster Glueトリオ それでもこれに最適ですか?

1
Jim Dennis

そのような機能が存在しないことはかなり確かです。制限できるのは、maxmemoryを使用したインスタンスの合計フットプリントだけです。

しかし、意味のある方法で制限を適用するのは難しいでしょう-アプリケーション開発者と協力して、値のサイズが超過したときにエラーを発生させるのではなく、意味のある方法でRedisを使用することを主張します任意の境界、より良いです。 (とにかく、なぜこの種の制限が必要なのですか?大きなキーまたは値が傷つくのは何ですか?)

Redisは、人々が自分の足を撃つのを防ぐことにあまり関心がないようです。 FLUSHALLまたはDEBUG SEGFAULTあなたの指先ですぐそこにあります。

フェイルオーバーについては、新しいバージョンのSentinelを使用してきましたが、堅実に見えます。多少の荒削りですが、全体としては期待どおりに機能します。おそらく間もなく限定的に本番環境での使用を開始する予定です。

1
Shane Madden

私の印象では、そのようなオプションは存在せず、そのような機能を追加するには、ソースにパッチを適用し、独自にビルドする必要があります。

実際、Redisはこの種の機能を提供していません。

フェイルオーバーについては、以下を参照してください。

0
FGRibreau