私はプロジェクトにSpring redisリポジトリを使用してPOJOをredisに保持しています。以下の例は私が達成しようとしていることを詳述しています。Spring Redisリポジトリを使用して格納されたPOJOのTTLを取得します。
@Data
@RedisHash("Example")
public class Example {
@Id
private String id;
private String attributeA;
private String attirbuteB;
@TimeToLive(unit = TimeUnit.SECONDS)
private Long timeToLive;
}
上記POJOのリポジトリは以下のようになります。
public interface ExampleRepository extends CrudRepository<Example, String> {
}
@TimeToLiveは、有効期限を赤字に設定しても問題ありません。私のコードでは、私は= 1200のTimeToLiveの値を設定しようとしたコードは以下のようになり、私はRedisのからPOJOを取得しようとすると...
Example example = new Example();
example.setId("abc");
example.setTimeToLive(1200L);
exampleRepository.save(example);
私の問題が開始されます。
Example example = exampleRepository.findOne(id);
System.out.println(example.getTimeToLive());
上記のコードは、出力として常に1200を出力します。 CLIからは、時間の経過とともに、赤色に存在するオブジェクトのTTLが減少していることを確認できます。それでも、私は取得しようとしているPOJOに設定されていません。
このPOJOインスタンスに対して、redisで設定されたttlの現在の値を取得できないのはなぜですか?
spring redisリポジトリを使用してこれを達成する別の方法がありますか?
ありがとうございます!
お返事ありがとうございます!これの背後に作成された問題を見るのは素晴らしいです!すぐにこの機能が追加されることを願っています! –