2

Redis ハッシュを扱うとき、私はしばしば同一のキーの 99% を保存することになります:

HGETALL object:someID {
    "id": "123",
    "someSpecificKeysWithLongNames": "..."
}

Redis はハッシュをどのように保存しますか? キー名に必要な割り当てスペースを減らすことができますか、それともオーバーヘッドを減らすために短いキーを使用する必要がありますか?

HGETALL myobject {
    "i": "123",
    "s": "..."
}
4

1 に答える 1

3

Redis は、基になるデータ構造に関係なく、どのバージョンでもキー名を圧縮しません。キーが同一である場合は、短いキーを使用することでメリットが得られます。

実際にリファクタリングする前に、経験的な計算を行って節約を見つけることをお勧めします。あなたの例に基づいて、少なくともハッシュごとに len(someSpecificKeysWithLongNames) - len(s) バイトを節約します。これに、所有している、または計画しているハッシュの数を掛けて、費用対効果を計算して、節約が苦痛に見合う価値があるかどうかを確認します。

于 2013-06-04T06:28:19.940 に答える