详解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优化内容请搜索编程宝库以前的文章,希望以后支持编程宝库

jpa EntityManager 复杂查询示例:概念EntityManager:EntityManager是JPA中用于增删改查的接口,它的作用相当于一座桥梁,连接内存中的java对象和数据库的数据存储。可以用getC ...