1

IronCache の値をアトミックにインクリメントできることを見てきましたが、多数の IronWorker がput値を 1 つのキャッシュ キーにしようとしている場合はどうなるでしょうか? これらの値の更新をメッセージ キューに置いて更新をキャッシュに同期する方がよいでしょうか、それとも別の慣用的な方法がありますか?

4

2 に答える 2

1

現在、競合状態の神々を挑発せずに非整数キャッシュ項目を更新する慣用的な方法はありません。制限を回避するためのさまざまなハックがありますが、MQ ソリューション (1 つのワーカーだけが変更を書き込んでいると仮定) がおそらく最善の策です。

私たちはこの欠点を認識しており、修正に取り組んでいますが、現時点では何も発表することはありません.

于 2012-12-03T20:57:28.193 に答える
1

これを行う 1 つの方法は、値を複数のキャッシュ エントリに分割することです。json 階層があるとします。

{
    "x": "y",
    "sub1": {
        "a": "b"
    },
    "sub2": {
        "c": "d"
    }
}

次のように変更します。

{
    "x": "y",
    "sub1": "cache_key_a",
    "sub2": "cache_key_b"
}

次に、cache_key_a で:

{
    "a": "b"
}

また、cache_key_b などについても同じことを行います。それはあなたの問題を解決しますか?

于 2012-12-09T21:34:30.860 に答える