1

複数のクライアントからのオブジェクトを格納するためのキャッシュを設計する必要があります。これらのクライアントはすべて並行して来ることができます。これらのオブジェクトは memcached に保存し、後で使用するために取得する必要があります。

String newKey ;
private synchronized String setData(Data newData) {
    do {
        newKey = createRandomKey() ;
    } while (memcacheClient.get(newKey) != null) ;
    memcacheClient.set(newKey, 10000, newData) ;
}

私の質問は、この方法が並列クライアント アクセスのボトルネックになるかどうかです。

また

共有リストとスレッドを作成する必要がありますか? スレッドは setData を非同期に実行しますか?

4

1 に答える 1

1

ループの遅延は、 createRondomKey がどの程度ランダムに達成できるかに大きく依存します。ランダムキーを使用する必要がありますか? セマンティックな命名スキーム (たとえば、userid/category/blabla) を考え出すことは可能ですか? これにより、ランダムなキーを覚える手間も省けます。

于 2012-10-20T21:21:37.897 に答える