Jedis에서 Redis로 set 시 expiration time을 설정하기 위해 다음과 같이 할 수 있다.


public class JedisTest {


    @Test

    public void test() {

        String key = "foo";

        String value = "bar";


        Jedis jedis = new Jedis("localhost");


        jedis.set(key, value);


        value = jedis.get(key);

        System.out.println(value);


        jedis.expire(key, 5);


        value = jedis.get(key);

        System.out.println(value);


        try {

            Thread.sleep(5000);

        } catch (InterruptedException e) {

            e.printStackTrace();

        }


        value = jedis.get(key);

        System.out.println(value);


        value = "bar2";


        jedis.setex(key, 5, value);


        value = jedis.get(key);

        System.out.println(value);


        try {

            Thread.sleep(5000);

        } catch (InterruptedException e) {

            e.printStackTrace();

        }


        value = jedis.get(key);

        System.out.println(value);

    }


}


첫번째 방법은 set() 한 뒤에 expire()하는 방식이고,


두번째 방법은 동시에 하는 방식이다.


References:

https://github.com/xetorthio/jedis

http://stackoverflow.com/questions/26339277/why-is-the-nxxx-parameter-of-set-in-jedis-exclusive

Posted by izeye