Java使用Redis及其优化详解

前言

所有坚韧不拔的努力迟早会取得报酬的。—— 安格尔

开启远程连接

Redis默认是不支持远程连接的,这里需要手动开启远程连接。

关闭本机IP绑定,允许远程连接。找到redis.conf中的bind:127.0.0.1将其注释。

在这里插入图片描述

开启密码校验。找到redis.conf中的requirepass去掉其注释并设置密码。

在这里插入图片描述

Jedis连接Redis

创建一个Maven项目,导入Jedis依赖。

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<type>jar</type>

<scope>compile</scope>

</dependency>

测试链接是否成功。

public static void main(String[] args) {

//创建Jedis对象 如果使用的是默认端口 则可忽略 (本次使用的是Docker创建的Redis)

Jedis jedis = new Jedis("127.0.0.1", 6379);

//密码认证

jedis.auth("123456");

//测试连接

String res = jedis.ping();

//输出PONG表示连接成功 抛出异常则失败

System.out.println(res);

}

在这里插入图片描述

使用Redis中写入一些值。不熟悉基本操作的可以查看Redis基本操作。

在这里插入图片描述

//获取值

System.out.println(jedis.get("name"));

//写入值

String result = jedis.set("gender", "male");

System.out.println(result);

在这里插入图片描述

紧接着再去redis中查看刚才写入的gender

在这里插入图片描述

Jedis中提供的方法和Redis的命令基本上是一样的,所以这里的操作就不做过多的赘述了。

在这里插入图片描述

封装Jedis进行操作

Jedis对象不是线城安全的,所以在实际开发中,一般我们都是通过连接池来获取,使用完成后再还给连接池。

public interface JedisCall {

void call(Jedis jedis);

}

public class RedisDemo {

private JedisPool jedisPool;

public RedisDemo(){

GenericObjectPoolConfig config = new GenericObjectPoolConfig();

//设置连接池最大空闲数

config.setMaxIdle(100);

//最大连接数

config.setMaxTotal(300);

//设置最大等待时间 -1表示无限制

config.setMaxWaitMillis(30000);

//开启空闲时间检查有效性

config.setTestOnBorrow(true);

//连接redis

jedisPool = new JedisPool(config, "127.0.0.1", 6379, 30000);

}

public void execute(JedisCall jedisCall) {

//try resource

try (Jedis jedis = jedisPool.getResource()) {

jedisCall.call(jedis);

}

}

}

public class JedisTest {

public static void main(String[] args) {

RedisDemo redisDemo = new RedisDemo();

redisDemo.execute(jedis -> {

//TODO

//做一些操作

});

}

}

到此这篇关于Java使用Redis及其优化详解的文章就介绍到这了,更多相关Java使用Redis优化内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

以上是 Java使用Redis及其优化详解 的全部内容, 来源链接: utcz.com/p/251344.html

回到顶部