Redis常用命令学习之 SET

/**
 *
 * redis常用命令学习之SET
 *
 * @author zhangwei_david
 * @version $Id: SimpleRedisTest.java, v 0.1 2015年6月6日 下午12:43:16 zhangwei_david Exp $
 */
public class SimpleRedisTest {

    private static final String COMMON_KEY       = "jedis";

    private static final String INVOKE_COUNT_KEY = "invokeCount";

    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        Jedis client = null;
        try {
            // 创建Redis客户端,指定host,默认端口号为6397
            System.out.println("创建redis客户端");
            client = new Jedis("127.0.0.1");
            // 删除KEY
            client.del(COMMON_KEY);
            /***************************************************************/
            /**
             * SET key value [EX seconds] [PX milliseconds] [NX|XX]
             * EX:过期时间为秒
             * PX:表示过期时间为毫秒
             * NX: 只有键不存在时才进行设置
             * XX:只有键存在时才进行设置
             **/
            // 判断key是否存在
            System.out.println(COMMON_KEY + " 存在? " + client.exists(COMMON_KEY));
            // 放入一个字符串键值对,永不失效
            System.out.println("SET  jedis  value    ->" + client.set(COMMON_KEY, "value")
                + " 过期时间是:" + client.ttl(COMMON_KEY));

            // 如果jedis存在就将该key关联的值的过期时间设置为 200秒
            System.out.println("SET jedis value EX 100 XX  ->"
                    + client.set(COMMON_KEY, "value", "xx", "ex", 200L) + " 过期时间是:"
                    + client.ttl(COMMON_KEY));

            // 如果jedis不存在才设置过期时间, 如果已经存在,set的结果返回null
            System.out.println("SET jedis value EX 100 NX  ->"
                    + client.set(COMMON_KEY, "value", "nx", "ex", 200L) + " 过期时间是:"
                    + client.ttl(COMMON_KEY));
            // 如果invokeCount不存在则存放该键值对,同时将过期时间设置为20000毫秒
            if (client.exists(INVOKE_COUNT_KEY)) {

                client.del(INVOKE_COUNT_KEY);
            }
            System.out.println("SET invokeCount value PX 20000 EX -> "
                    + client.set(INVOKE_COUNT_KEY, "value", "nx", "px", 20000)
                    + "  过期时间是:" + client.ttl(INVOKE_COUNT_KEY));

            System.out.println();

        } finally {
            client.close();
        }
    }
}

 运行的结果是:

创建redis客户端
jedis 存在? false
SET  jedis  value    ->OK 过期时间是:-1
SET jedis value EX 100 XX  ->OK 过期时间是:200
SET jedis value EX 100 NX  ->null 过期时间是:200
SET invokeCount value PX 20000 EX -> OK  过期时间是:20

猜你喜欢

转载自wujiu.iteye.com/blog/2217528