redis的javaAPI

下面详细介绍redis的javaAPI

public class RedisD {

//redis连接测试
private JedisPool jedisPool;
private JedisPoolConfig jedisPoolConfig;

 @BeforeTest
 public void connectJedis(){
   //创建一个数据库的连接池对象
///创建数据库连接池对象
jedisPoolConfig = new JedisPoolConfig();
//设置连接redis的最大空闲数
    jedisPoolConfig.setMaxIdle(10);
//设置连接redis超时时间
    jedisPoolConfig.setMaxWaitMillis(1000);
//设置redis连接最大客户端数
    jedisPoolConfig.setMaxTotal(50);
//最小空闲
    jedisPoolConfig.setMinIdle(5);
//获得jedis连接池
jedisPool = new JedisPool(jedisPoolConfig, "node01", 6379);
   }

/**
 * String 类型的数据操作
 * */
@Test
public void stringOpen(){
    //h获取redis的客户端
    Jedis jedis = jedisPool.getResource();

    //设置string类型的值key  value
    jedis.set("key","value");
    //获取值
    String key = jedis.get("key");
    System.out.println(key);

    //计数器,自增1
    jedis.set("key2","1");
    Long key2 = jedis.incr("key2");
    System.out.println(key2);
    jedis.close();
}


//hash 表的操作
@Test
public void testHash(){
    //获取客户端
    Jedis jedis = jedisPool.getResource();
    //设置hash数据
    jedis.hset("hkey","hashkey","value");
    jedis.hset("hkey","hashkey1","value1");
    //获取hkeykey对应的所有map键值
    Map hkey = jedis.hgetAll("hkey");
    //获取所有map集合的key
    Set keys = hkey.keySet();
    for (String key : keys) {
        String s1 = hkey.get(key);//map里对应的值
        System.out.println("key的值为"+key+"值为"+s1);
    }
    System.out.println("==============");

    //修改数据
    jedis.hset("hkey","hashkey","updata");
    Map hkey2 = jedis.hgetAll("hkey");
    //获取所有(redis客户端)的key
    Set hkey1 = jedis.hkeys("hkey");
    for (String s : hkey1) {
        String s1 = hkey2.get(s);
        System.out.println("所有key为"+s+"值为"+s1);
    }

    //将hkey这个数据删掉
    jedis.del("hkey");
    jedis.close();


}

//list集合的操作
@Test
public void listTest(){
    //获取客户端
    Jedis jedis = jedisPool.getResource();
    jedis.lpush("list1","listkey","listvalue");

    //查看list当中所有的数据
    List list = jedis.lrange("list1", 0, -1);
    for (String s : list) {
        System.out.println(s);
    }
    System.out.println("=============");
    //从右边弹出
    String r = jedis.rpop("list1");
    System.out.println(r);

    jedis.del("list1");
}

//对set集合操作
@Test
public void setTest(){
    Jedis jedis = jedisPool.getResource();

    //添加数据
    jedis.sadd("setKey","set1","set2");

    //查看数据
    Set setKey = jedis.smembers("setKey");
    for (String s : setKey) {
        System.out.println(s);
    }

    System.out.println("=============");
    //移除集合中一个或多个成员
    jedis.srem("setKey","set1");
    Set setKey2 = jedis.smembers("setKey");
    for (String s : setKey2) {
        System.out.println(s);
    }

//        jedis.del("setKey");


}

//哨兵模式API操作

@Test
public void testSentinel(){
    //获得连接
    JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
    jedisPoolConfig.setMinIdle(5);
    jedisPoolConfig.setMaxTotal(30);
    jedisPoolConfig.setMaxWaitMillis(1000);
    jedisPoolConfig.setMaxTotal(10);

    HashSet hashSet = new HashSet<>(Arrays.asList("node01:26379", "node02:26379", "node03:26379"));

    //mymaster 是sentinel.conf配置文件主节点的名称
    JedisSentinelPool sentinelPool = new JedisSentinelPool("mymaster", hashSet, jedisPoolConfig);

    //获得客户端
    Jedis jedis = sentinelPool.getResource();
    //普通的String类型
    String set = jedis.set("sentinekey", "keyvalue");
//        jedis.del("sentinekey");


    jedis.close();
    sentinelPool.close();
}






@AfterTest
public void jedisPoolClose(){
    jedisPool.close();
}

}

你可能感兴趣的:(java)