4

Memcached として使用される Amazon Elasticache は、入力ストリーム (バイト配列に変換) を格納します。

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」です。

私の質問

  1. Memcached が初めての場合を除いて null バイト配列を返すのはなぜですか?
  2. バイト配列が Memcached に正常に書き込まれたかどうかを確認する方法は?
4

0 に答える 0