jedis连接池操作redis数据库的Demo

讲到jedis,先来看看redis, redis是当今基本所有互联网产品都在使用的一种提供键值对形式的内存数据库。之所以说是内存数据库,是因为redis基于内存的读取和写入相比传统的数据库基于磁盘IO快上数倍。于是乎redis在现在的应用中使用的非常广泛。主要的作用在于:
1、提供缓存服务,存储访问频率高的热数据防止穿透到数据库
2、在分布式系统中可以作为实现分布式锁的一种实现方案
...

jedis作为一种redis的客户端,就是集成了redis的一些命令操作,封装了redis的java客户端。提供了连接池管理。

public class JedisDemo {
    @Test
    public void testJedis()
    {
        Jedis jedis = new Jedis("127.0.0.1",6379);
        jedis.auth("sc_admin");
        String value = jedis.get("name");
        jedis.set("age","18");
        System.out.println(value);
        //关闭连接,释放资源
        jedis.close();
    }
    @Test
    public void jedisPoolTest()
    {
        //设置Jedis连接池配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        //设置最大连接数
        config.setMaxTotal(30);
        //设置最大空闲连接数
        config.setMaxIdle(10);
        //获取连接池
        JedisPool jedisPool = new JedisPool(config,"127.0.0.1",6379);
        //从连接池中获取jedis操作对象
        Jedis jedis = null;
        try{
            jedis = jedisPool.getResource();
            //配置用户名
            jedis.auth("sc_admin");
            //选择数据库
            jedis.select(0);
            //数据库操作
            String value = jedis.get("age");
            System.out.println(value);
        }catch (Exception e){
            //吞掉异常并打印,过程中可能出现 连接超时、端口号错误等多种异常
            e.printStackTrace();
        }finally {
            //回收操作对象资源
            if(jedis !=null)
            {
                jedis.close();
            }
            //回收连接池资源
            if(jedisPool != null)
            {
                jedisPool.close();
            }
        }
    }
}

你可能感兴趣的:(redis,Java)