redis--key1

package com.ztest.redis;

import java.util.Set;

import com.sun.istack.internal.logging.Logger;
import com.ztest.redis.util.JedisConnectionUtil;

import redis.clients.jedis.Jedis;

public class JedisKeyTestOne {
    private final static Logger logger = Logger.getLogger(JedisKeyTestOne.class);
    
    public static void keyTest(){
        Jedis jedis = null;
        try{
             
            jedis = JedisConnectionUtil.initJedis();
            
            // @redis命令: set lvyf 123456
             jedis.set("lvyf", "123456");
             jedis.set("lvyf1", "123456");
             
            // 1.删除key 
            // @redis命令: exists lvyf
             logger.info("删除前==" + jedis.exists("lvyf"));
             
            // @redis命令: del lvyf lvyf1
             Long count = jedis.del("lvyf","lvyf1");
             logger.info("删除后==" + jedis.exists("lvyf") + ",删除数量:" + count);
             
             // 2.dump 序列化指定key
             // @redis命令: dump lvyf1 返回序列化后的值;如果key不存在返回:nil
             
             // 3.exists  判断key是否存在
            // @redis命令: exists lvyf
             logger.info("是否存在==" + jedis.exists("lvyf"));
             
             // 4.expire 设置key的生存时间,使用set重新赋值,key的生存时间不会变 ,过期之后key被删除
             // @redis命令:expire key seconds 
             jedis.set("lvyf2", "123");
             jedis.expire("lvyf2", 3);
             logger.info("马上获取=="+jedis.get("lvyf2"));
             Thread.currentThread();
             Thread.sleep(1000 * 4);
             logger.info("4秒后key是否存在=="+jedis.exists("lvyf2") + ",4秒后获取=="+jedis.get("lvyf2"));
             
             // 5.expireat 为key设置失效时间,传入参数unix timestamp 1460098838737,过期之后key被删除
             // @redis命令: expireat lvyf3 1460098838737
             jedis.expireAt("lvyf3", 1460098838737L);
             
             
             // 6.keys 
             /*
              * @Redis命令
              * KEYS * 匹配数据库中所有 key 。
                KEYS h?llo 匹配 hello ,hallo 和 hxllo 等。
                KEYS h*llo 匹配 hllo 和 heeeeello 等。
                KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo
              */
             jedis.set("one", "1");
             jedis.set("two" , "2");
             jedis.set("three", "3");
             jedis.set("four", "4");
             Set<String> keysAll = jedis.keys("*");
             logger.info("keyAll=="+keysAll);
             Set<String> keysO = jedis.keys("*o*");
             logger.info("keysO=="+keysO);
             Set<String> keyT = jedis.keys("t*");
             logger.info("keyT=="+keyT);
             Set<String> keyTwo = jedis.keys("tw?");
             logger.info("keyTwo" + keyTwo);
             
             
             
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            if(jedis != null){
                JedisConnectionUtil.returnJedis(jedis); //回收
            }
        }
        
    }
    
    public static void main(String[] args) {
        keyTest();
    }
}

 未完待续。。。

posted @ 2016-06-12 16:00  浮白斋主人  阅读(248)  评论(0编辑  收藏  举报