【Redis】Java客户端操作reids数据库

目录

 

一、Java客户端分类

1、Jedis

2、lettuce

3、Redisson

二、Jedis

三、reids连接池


一、Java客户端分类

Redis提供了多个版本的Java客户端,其中推荐使用Jedis、lettuce、Redisson。


1、Jedis

Jedis他以命令作为方法名称,学习成本低,简单实用。但是他的缺陷是他是线程不安全的,在多线程环境下需要使用连接池

2、lettuce

他是基于Netty实现的,支持同步、异步、响应式的编程,且线程安全。它还支持redis的哨兵模式、集群模式、管道模式

3、Redisson

他是基于Redis实现的分布式、可伸缩的Java数据结构集合。包含了诸如Map、Queue、Lock等强大的功能

二、Jedis

此处我们使用Jedis进行操作Redis,有以下步骤:建立连接---进行操作---关闭连接

我们需要先创建maven项目,然后引入依赖

 
        
            redis.clients
            jedis
            3.7.0
        
    

然后我们就可以使用Jedis了

public class Connect {
    private Jedis jedis;

    public void setUp() {
        // 1.建立连接
        jedis = new Jedis("IP",6379);  // ip port
        //jedis.auth("");                     // password
        jedis.select(0);                               // 数据库

        // 2.编写代码
        String result = jedis.set("name1","amy");
        System.out.println("创建key:" + result);

        String name = jedis.get("name1");
        System.out.println("读取key:" + name);

        // 3.释放资源
        jedis.close();
    }

 由于他的方法与redis命令相同,所以在使用时,我们可以直接输入对应的命令作为方法使用即可

三、reids连接池

上述代码在单线程环境下可以使用,但是在多线程环境下需要给每个线程创建连接,频繁的创建于销毁连接对性能是损耗,所以推荐使用连接池获取连接

public class Pool {
    private static final JedisPool jedisPool;

    static {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        // 最大连接
        jedisPoolConfig.setMaxTotal(8);

        // 最大空闲连接
        jedisPoolConfig.setMaxIdle(8);

        // 最小空闲连接
        jedisPoolConfig.setMinIdle(0);

        // 设置最长等待时长 ms
        jedisPoolConfig.setMaxWaitMillis(200);

        jedisPool = new JedisPool(jedisPoolConfig,"101.42.161.165",6379,1000);
    }

    // 提供接口外部访问获取连接
    public static Jedis getConnection() {
        return jedisPool.getResource();
    }
}

你可能感兴趣的:(Redis,Java,数据库,java,redis)