Amazon Elasticache用作Memcached来存储Inputstream(转换为字节数组),就像这样
private static final int MEMCACHED_TIME_TO_LIVE = 15 * 60;
InputStream stream = item.openStream();
byte[] byteArray = IOUtils.toByteArray(stream);
MemcachedClient memcachedClient = new MemcachedClient(new InetSocketAddress(AMAZON_ELASTICACHE_CLUSTER_ENDPOINT,AMAZON_ELASTICACHE_CLUSTER_PORT));
String key = name;
Future<Boolean> result = memcachedClient.set(key, MEMCACHED_TIME_TO_LIVE,byteArray);
memcachedClient.shutdown();
存储的byteArray就像这样读取
MemcachedClient memcachedClient = new MemcachedClient(new InetSocketAddress(AMAZON_ELASTICACHE_CLUSTER_ENDPOINT,
AMAZON_ELASTICACHE_CLUSTER_PORT));
String key = name;
byte[] byteArray = (byte[]) memcachedClient.get(key);
memcachedClient.shutdown();
返回的字节数组始终为“null”,但应用程序第一次启动时除外 .
My Question
-
为什么Memcached返回一个空字节数组,除了第一次?
-
如何检查字节数组是否已成功写入Memcached?