我需要设计一个缓存来存储来自多个客户端的对象。这些客户端都可以并行出现。这些对象需要存储在 memcached 上,稍后检索以供使用。
String newKey ;
private synchronized String setData(Data newData) {
do {
newKey = createRandomKey() ;
} while (memcacheClient.get(newKey) != null) ;
memcacheClient.set(newKey, 10000, newData) ;
}
我的问题是,这种方法会成为并行客户端访问的瓶颈吗?
或者
我应该创建一个共享列表和一个线程吗?线程将异步执行 setData 吗?