当前位置: 首页 > news >正文

Java链接redis

一、准备工作就像谈恋爱

首先咱们得来点仪式感是不是?打开你的Maven(Gradle玩家别打我),把这两个宝贝依赖给我焊死在pom.xml里:

<!-- 经典永不过时的Jedis -->

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>4.4.3</version>

</dependency>

<!-- 新贵Lettuce,异步猛如虎 -->

<dependency>

<groupId>io.lettuce</groupId>

<artifactId>lettuce-core</artifactId>

<version>6.3.0.RELEASE</version>

</dependency>

选Jedis还是Lettuce?这就好比选机械键盘的青轴红轴,Jedis直来直去像东北老铁,Lettuce异步操作像上海精英。我全都要.jpg


🚀二、连接实战比奶茶简单

方案A:直男式连接(Jedis极简版)

public class Redis直男 {
    public static void main(String[] args) {
        // 这三个参数就像wifi密码,错一个都别想连
        Jedis jedis = new Jedis("localhost", 6379);
        jedis.auth("你的密码"); // 没密码?心真大!
        
        jedis.set("雷总语录", "站在风口上,猪都能飞起来");
        System.out.println(jedis.get("雷总语录")); // 打印出来都是情怀
        
        jedis.close(); // 用完不关?等着内存泄漏吧!
    }
}

方案B:优雅永不过时(Lettuce高定版)

 
public class Redis绅士 {
    public static void main(String[] args) {
        RedisURI uri = RedisURI.Builder
            .redis("localhost")
            .withPort(6379)
            .withAuthentication("default", "你的密码")
            .build();
            
        RedisClient client = RedisClient.create(uri);
        StatefulRedisConnection<String, String> connection = client.connect();
        
        RedisCommands<String, String> commands = connection.sync();
        commands.set("互联网思维", "专注、极致、口碑、快");
        System.out.println(commands.get("互联网思维"));
        
        connection.close(); // 优雅关闭才是王道
        client.shutdown();
    }
}

💊三、连接池是程序员的续命丹

知道为什么你头发越来越少吗?每次new连接就像拆一次性筷子!上连接池才是正解:

JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(20); // 最大连接数,别让你的Redis像早高峰地铁
poolConfig.setMaxIdle(10);  // 最大摸鱼连接数

try (JedisPool pool = new JedisPool(poolConfig, "localhost", 6379, 2000, "密码")) {
    Jedis jedis = pool.getResource();
    // 一顿操作猛如虎...
} // 自动回收连接,妈妈再也不用担心我忘关连接了


🚨四、避坑指南(血泪史)

  1. Timeout异常三连击

    1. 检查防火墙姿势

    2. 确认6379端口开了没

    3. 网络延迟超过connectionTimeout值?

  1. AUTH错误终极奥义

     

    // 密码里有特殊符号?上双引号护体! jedis.auth("\"your@pass!\"");

    1. 内存爆炸现场教学Redis配置必须加maxmemory 256mb(别让Redis变成貔貅)

    1. 连接泄漏灵魂拷问推荐使用try-with-resources,比健忘症特效药管用


    ⚡五、性能三连(敲黑板!)

    • Pipeline技术:比双十一快递还快的批量操作

       
    Pipeline pipeline = jedis.pipelined();
    for(int i=0; i<10000; i++){
        pipeline.set("key"+i, "value"+i);
    }
    pipeline.sync();

    • 集群模式生存指南

      • 单机模式:RedisTemplate

      • 集群模式:JedisCluster


    💡最后说点掏心窝子的

    代码这东西,光看不动手都是耍流氓!赶紧打开IDE,把Redis玩出花来。遇到问题别慌,记住雷总那句话:"**试错的成本并不高,而错过的成本非常高!**"

    (突然正经)对了,用SpringBoot的童鞋可以直接上Spring Data Redis,配置自动注入美滋滋。但底层原理还是这些,万变不离其宗!


    🎉彩蛋:当年我用Redis存了10个G的缓存结果没设过期时间...这事我能笑(哭)三年!朋友们引以为戒啊!

    相关文章:

  2. react 和 react-dom
  3. VUE3项目的文档结构分析
  4. JVM、JDK、JRE三者的关系
  5. 【linux网络编程】字节序
  6. 第七章 二叉树
  7. 生成式AI系列(二) LLM生成质量改善的方法——RAG检索增强生成
  8. Python评估网络脆弱性
  9. Redis常问八股(一)
  10. Java网络编程,多线程,IO流综合项目一一ChatBoxes
  11. 初识Qt · 信号与槽 · 自定义和参数
  12. 【轻松学C:编程小白的大冒险】---变量的定义、声明与应用场景 06
  13. leetcode日记(86)恢复二叉搜索树
  14. 2008-2024年中国手机基站数据/中国移动通信基站数据
  15. VSTO(C#)Excel开发2:Excel对象模型和基本操作
  16. 2025年渗透测试面试题总结-字某跳动-安全研究实习生(三面)(题目+回答)
  17. 40岁开始学Java:控制反转IoC
  18. 前端知识点---路由模式-实例模式和单例模式(ts)
  19. 【redis】全局命令set、get、keys
  20. 【linux网络编程】浏览网页时客户端与服务器之间数据交互的完整过程
  21. 根据输入汉字生成带拼音的米字格字帖
  22. 做外链网站有哪些/可口可乐软文范例
  23. 绵阳 网站开发/营销软文200字
  24. 杭州下沙做网站的论坛/产品推广策划
  25. 厦门seo网络优化公司/搜索引擎优化要考虑哪些方面?
  26. 网站访客qq统计 原理/短视频营销策略
  27. 100个好听到爆的公司名字/wifi优化大师下载