> 文章列表 > 【Redis】Java客户端操作reids数据库

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

【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项目,然后引入依赖

 <dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version></dependency></dependencies>

然后我们就可以使用Jedis了

public class Connect {private Jedis jedis;public void setUp() {// 1.建立连接jedis = new Jedis("IP",6379);  // ip port//jedis.auth("");                     // passwordjedis.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);// 设置最长等待时长 msjedisPoolConfig.setMaxWaitMillis(200);jedisPool = new JedisPool(jedisPoolConfig,"101.42.161.165",6379,1000);}// 提供接口外部访问获取连接public static Jedis getConnection() {return jedisPool.getResource();}
}

香烟价格