Java使用Redis及其优化详解

 更新时间:2021年12月07日 10:58:28   作者:Java Gosling  
大家好,本篇文章主要分享的是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优化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • maven配置多个镜像的实现方法

    maven配置多个镜像的实现方法

    这篇文章主要介绍了maven配置多个镜像的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 使用java web 在jsp文件及Class中连接MySQL和SQLserver 的驱动方法

    使用java web 在jsp文件及Class中连接MySQL和SQLserver 的驱动方法

    这篇文章主要介绍了使用java web 在jsp文件及Class中连接MySQL和SQLserver的驱动方法的相关资料,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • Java WebService技术详解

    Java WebService技术详解

    本文详细讲解了Java WebService技术工作原理以及调用方式。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • java读取csv文件内容示例代码

    java读取csv文件内容示例代码

    这篇文章主要介绍了java读取csv文件内容的示例,大家参考使用
    2013-12-12
  • Java设计模式之工厂模式

    Java设计模式之工厂模式

    这篇文章主要为大家详细介绍了Java设计模式之工厂模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • SpringBoot使用Jasypt对配置文件和数据库密码加密

    SpringBoot使用Jasypt对配置文件和数据库密码加密

    在做数据库敏感信息保护时,应加密存储,本文就来介绍一下SpringBoot使用Jasypt对配置文件和数据库密码加密,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • java银行管理系统源码

    java银行管理系统源码

    这篇文章主要为大家详细介绍了java银行管理系统源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • Mybatis自定义拦截器实现权限功能

    Mybatis自定义拦截器实现权限功能

    本文主要介绍了Mybatis自定义拦截器实现权限功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • 详解Spring依赖注入的三种方式以及优缺点

    详解Spring依赖注入的三种方式以及优缺点

    IoC 和 DI 是 Spring 中最重要的两个概念,其中 IoC(Inversion of Control)为控制反转的思想,而 DI(Dependency Injection)依赖注入为其(IoC)具体实现。那么 DI 实现依赖注入的方式有几种?这些注入方式又有什么不同?本文就来和大家一起详细聊聊
    2022-08-08
  • 利用Mybatis向PostgreSQL中插入并查询JSON字段

    利用Mybatis向PostgreSQL中插入并查询JSON字段

    这篇文章主要介绍了利用Mybatis向PostgreSQL中插入并查询JSON字段,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07

最新评论