私はRedisとの通信にSpring RedisTemplate(spring-data-redis 1.7.1)を使用します。 regexp(例: "context:user1:*")でキーを取得して削除する必要があります。私は、キーSpring RedisTemplate:8回の呼び出し後メソッドキーが電話を切る
{
String key = String.format("%s:%s:%s", context, userId,"*");
Set<byte[]> keys = redisTemplate.getConnectionFactory().getConnection().keys(key.getBytes());
logger.debug(String.format("test log"));
}
の配列を取得するための方法"RedisTemplate.keys(...)"を使用しますが、8-9の繰り返し呼び出しrestTemplates.keys(...)に私のJavaサービスの実行を停止します。メソッドの呼び出しはフレームワークから返されません。私のサービスはハングアップします。それは毎回起こっている。回避策はサービスを再開するだけです。
「but on 8-9 iterationで、call restTemplates.keys(...)はMy Javaサービスの実行を停止します。」ブラウザはロードし続けますか? –
はい、redisTemplate.getConnectionFactory()。getConnection()。keys(key.getBytes())の8-9回の呼び出しの後。私のサービスは読み込みを続ける –
あなたは鍵を見つけるだろうと推測しているのはなぜですか?キーが見つからない場合はどうなりますか?第二に、keys.getBytesを取得するコードはどこですか?キーを最初に取得し、ヌルかどうかを確認してから、試してみてください。 Redisのデバッグログを有効にすることはできますか? –