sql >> データベース >  >> NoSQL >> Redis

Javaを使用したRedis(キャッシュ)の単一の値を指す複数のキー

    現在、Redisでは複数のキーが同じ値を指すようにすることはサポートされていません。問題#2668を参照してください。

    回避策が必要になります。

    以下のいくつかのアイデア、おそらく明白または愚かです:)

    おそらく中間キーがあります:
    -user_10id_123
    -driver_5id_123
    -id_123data_that_you_dont_want_to_duplicate

    そのロジックをクライアントコードまたはサーバー上のカスタムLuaスクリプトに実装し、クライアントコードにそれらのスクリプトを使用させることができます(ただし、詳細を提供するのに十分な知識はありません)。

    クライアント側で間接参照ロジックを実装し、アクセスが不均衡である場合、たとえば、99%の確率でユーザーキーを介して、1%の確率でドライバーキーを介してデータにアクセスする場合、2つのクライアントサーバーを回避する価値があります。 99%の場合の往復。このために、リダイレクトをエンコードできます。たとえば、最初の文字が#の場合 残りはデータです。最初の文字が@の場合 残りは実際のキーです。

    • user_10#data_that_you_dont_want_to_duplicate
    • driver_5@user_10


    1. mongoDB:15分間隔で時間を表示する$dateToString形式

    2. mongodumpを使用してMongoDBデータベースをバックアップする

    3. Redisパブリッシュ/サブスクライブ

    4. MongoDBでコレクションのクローンを作成する