当前位置: 首页 > 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的缓存结果没设过期时间...这事我能笑(哭)三年!朋友们引以为戒啊!

    相关文章:

    Java链接redis

    一、准备工作就像谈恋爱 首先咱们得来点仪式感是不是&#xff1f;打开你的Maven&#xff08;Gradle玩家别打我&#xff09;&#xff0c;把这两个宝贝依赖给我焊死在pom.xml里&#xff1a; <!-- 经典永不过时的Jedis --> <dependency> <groupId>redis.cli…...

    2025最新群智能优化算法:基于RRT的优化器(RRT-based Optimizer,RRTO)求解23个经典函数测试集,MATLAB

    一、基于RRT的优化器 基于RRT的优化器&#xff08;RRT-based Optimizer&#xff0c;RRTO&#xff09;是2025年提出的一种新型元启发式算法。其受常用于机器人路径规划的快速探索随机树&#xff08;RRT&#xff09;算法的搜索机制启发&#xff0c;首次将RRT算法的概念与元启发式…...

    VBA 数据库同一表的当前行与其他行的主键重复判断实现方案

    目的&#xff0c;判断是否主键重复&#xff0c;不重复则登录新数据&#xff0c;重复则不登录。 定义类型&#xff1a; DataRecord   tableName 表名   rowNumber 行号   columnName 列名   data 数据 想要实现的代码逻辑如下&#xff1a; 模拟数据库的登录过程。假设…...

    DeepSeek开启AI办公新模式,WPS/Office集成DeepSeek-R1本地大模型!

    从央视到地方媒体&#xff0c;已有多家媒体机构推出AI主播&#xff0c;最近杭州文化广播电视集团的《杭州新闻联播》节目&#xff0c;使用AI主持人进行新闻播报&#xff0c;且做到了0失误率&#xff0c;可见AI正在逐渐取代部分行业和一些重复性的工作&#xff0c;这一现象引发很…...

    android为第三方提供部分系统接口

    文章目录 Settings - 亮灭屏Settings - 恢复出厂设置Settings - 数字锁屏/解锁Settings - 设置系统时间PackageInstaller - 安装/卸载第三方应用摘要:本文对系统模块进行改造,提供广播等形式的接口对外提供无法直接调用的系统级别接口,实现部分功能的集合。如果是广播形式,…...

    Android 自定义View 加 lifecycle 简单使用

    前言 本文是自定义view中最简单的使用方法&#xff0c;分别进行 ‘onMeasure’、‘onDraw’、‘自定义样式’、‘lifecycle’的简单使用&#xff0c;了解自定义view的使用。 通过lifecycle来控制 动画的状态 一、onMeasure做了什么&#xff1f; 在onMeasure中获取view 的宽和…...

    在K8S中,svc底层是如何实现的?

    在Kubernetes中&#xff0c;Service是集群内部的一个抽象层&#xff0c;用于定义一组Pod的逻辑分组&#xff0c;并提供统一的访问入口点&#xff0c;同时还可以对这些Pod提供负载均衡和网络代理功能。Service底层的实现主要包括以下几个关键组件和技术&#xff1a; 标签选择器…...

    Python pyqt小技巧:默认打开某文件(即自动加载某文件)

    文章目录 前言 前言 有的时候需要界面自动加载某文件。不需要人为在打开选择。 import os #自带 import sys # 获取该程序当前文件目录dir_name os.path.dirname(os.path.realpath(sys.argv[0])) f1 os.path.join(dir_name, 题目调度规程.xls) # 拼接路径 文件必须和程序在…...

    vue2实现组件库的自动按需引入,unplugin-auto-import,unplugin-vue-components

    1.使用ant-design-vue或者element-ui时&#xff0c;如何每个组件都去import导入组件&#xff0c;大大降低了开发效率&#xff0c;如果全局一次性注册会增加项目体积&#xff0c;那么如何实现既不局部引入&#xff0c;也不全局注册&#xff1f; 2.在element-plus官网看到有说明…...

    C++第十节:map和set的介绍与使用

    【本节要点】 1.关联式容器2.键值对3.map介绍与使用4.set介绍与使用5.multimap与multisedd的介绍与使用 一、关联式容器&#xff1a;数据管理的核心利器 关联式容器是STL中用于高效存储和检索键值对&#xff08;key-value pair&#xff09;的数据结构&#xff0c;其底层基于红黑…...

    线性代数笔记28--奇异值分解(SVD)

    1. 奇异值分解 假设矩阵 A A A有 m m m行 n n n列 奇异值分解就是在 A A A的行向量上选取若干对标准正交基&#xff0c;对它作 A A A矩阵变化并投射到了 A A A的列空间上的正交基的若干倍数。 A v → u → σ u → ∈ R m v → ∈ R n A\overrightarrow{v}\overrightarrow{u…...

    【从零开始学习计算机科学】硬件设计与FPGA原理

    硬件设计 硬件设计流程 在设计硬件电路之前,首先要把大的框架和架构要搞清楚,这要求我们搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂得借鉴他人的成果)。如果你找到了的参考设计,最好还是…...

    项目中同时使用Redis(lettuce)和Redisson的报错

    温馨提示&#xff1a;图片有点小&#xff0c;可以放大页面进行查看... 问题1&#xff1a;版本冲突 直接上图&#xff0c;这个错表示依赖版本不匹配问题&#xff0c;我本地SpringBoot用的是2.7&#xff0c;但是Redisson版本用的3.32.5。 我们通过点击 artifactId跟进去 发现它…...

    leetcode-数组

    26. 删除有序数组中的重复项 已解答 简单 相关标签 相关企业 提示 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 n…...

    人工智能里的深度学习指的是什么?

    深度学习&#xff08;Deep Learning, 简称DL&#xff09;是机器学习领域的一个重要分支&#xff0c;它通过构建和训练深层神经网络模型&#xff0c;从大量数据中自动学习和提取特征&#xff0c;以实现复杂任务的自动化处理和决策。以下是关于深度学习的详细介绍&#xff1a; 一…...

    docker本地部署ollama

    启动ollama容器 1.使用该命令启动CPU版运行本地AI模型 docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 2.此命令用于启动GPU版本运行AI模型 前提是笔记本已配置NVIDIA的GPU驱动&#xff0c;可在shell中输入nvidia-smi查看详细情况…...

    LangChain构建语言模型驱动应用的强大框架

    LangChain 核心功能与组件链&#xff08;Chains&#xff09;记忆&#xff08;Memory&#xff09;提示模板&#xff08;Prompts&#xff09;代理&#xff08;Agents&#xff09;数据检索&#xff08;Indexes&#xff09; 应用场景文档问答自动化工作流知识管理系统 发展历程总结…...

    2025-03-08 学习记录--C/C++-PTA 习题10-2 递归求阶乘和

    合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h>double fact( int n ); double facts…...

    浅谈 DeepSeek 对 DBA 的影响

    引言&#xff1a; 在人工智能技术飞速发展的背景下&#xff0c;DeepSeek 作为一款基于混合专家模型&#xff08;MoE&#xff09;和强化学习技术的大语言模型&#xff0c;正在重塑传统数据库管理&#xff08;DBA&#xff09;的工作模式。通过结合其强大的自然语言处理能力、推理…...

    AI如何重塑运维体系

    AI大模型的引入正在从被动响应到主动预防、从经验驱动到数据智能全面重构运维体系。 一、颠覆传统运维模式的技术革新 故障预测&#xff1a;从“救火”到“防火” AI大模型通过整合历史日志、硬件状态、网络流量等多模态数据&#xff0c;结合时间序列分析&#xff08;如LSTM&am…...

    SystemVerilog内存操作实战:手把手教你实现AXI VIP中的backdoor读写

    SystemVerilog内存操作实战&#xff1a;AXI VIP中的backdoor读写技术解析 在硬件验证领域&#xff0c;AXI总线协议因其高性能和灵活性已成为行业标准。验证工程师经常需要与AXI VIP&#xff08;Verification IP&#xff09;交互&#xff0c;其中内存操作是最基础也最关键的环节…...

    别再让电费偷偷溜走!用智能时间开关改造家里的热水器和空调(附保姆级选购指南)

    别再让电费偷偷溜走&#xff01;用智能时间开关改造家里的热水器和空调&#xff08;附保姆级选购指南&#xff09; 每到月底收到电费账单时&#xff0c;那种"钱不知不觉就溜走"的感觉总是让人心疼。特别是热水器和空调这两大"电老虎"&#xff0c;它们往往…...

    Pixel Fashion Atelier惊艳案例:‘赛博神社’主题皮装在明亮城镇UI下的生成

    Pixel Fashion Atelier惊艳案例&#xff1a;‘赛博神社’主题皮装在明亮城镇UI下的生成 1. 项目概览 Pixel Fashion Atelier&#xff08;像素时装锻造坊&#xff09;是一款基于Stable Diffusion与Anything-v5的图像生成工作站。与传统AI工具不同&#xff0c;它采用了复古日系…...

    别再到处找模板了!我用这套软著申请材料(含用户手册+源代码模板)两个月搞定

    两个月高效拿下软著&#xff1a;零基础开发者的材料准备实战指南 第一次提交软著申请时&#xff0c;我盯着官网模糊的材料要求整整发呆了半小时——"用户手册需图文并茂"到底要多详细&#xff1f;"源代码前30页后30页"该怎么截取&#xff1f;连续三个晚上搜…...

    Stable-Diffusion-v1-5-archive多分辨率实践:512×512 vs 768×768出图质量与耗时对比

    Stable-Diffusion-v1-5-archive多分辨率实践&#xff1a;512512 vs 768768出图质量与耗时对比 你是不是也好奇&#xff0c;用Stable Diffusion出图时&#xff0c;分辨率到底该怎么选&#xff1f;是选经典的512512&#xff0c;还是追求更高清的768768&#xff1f;选高了怕电脑跑…...

    人工智能毕业设计2026方向集合

    0 选题推荐 - 人工智能篇 毕业设计是大家学习生涯的最重要的里程碑&#xff0c;它不仅是对四年所学知识的综合运用&#xff0c;更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要&#xff0c;它应该既能体现你的专业能力&#xff0c;又能满足实际…...

    突破PDF转换困境:Marker全攻略——从格式混乱到精准转换的革新之路

    突破PDF转换困境&#xff1a;Marker全攻略——从格式混乱到精准转换的革新之路 【免费下载链接】marker 一个高效、准确的工具&#xff0c;能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式&#xff0c;支持多语言和复杂布局处理&#xff0c;可选集成 LLM 提升精度&am…...

    告别Win11无边框窗口的‘残疾’体验:Qt自定义标题栏完美集成Snap Layout保姆级教程

    现代Qt应用开发&#xff1a;Win11无边框窗口与Snap Layout深度整合实战 当微软推出Windows 11时&#xff0c;其标志性的Snap Layout功能彻底改变了多窗口管理体验。然而对于使用Qt框架开发无边框窗口应用的开发者来说&#xff0c;这却带来了一个棘手的问题——自定义标题栏与系…...

    python-flask-djangol框架的关爱空巢老人和孩子留守儿童管理系统的设计和实现

    目录需求分析与规划技术选型核心模块设计数据安全与权限开发与测试计划社区与可持续性项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作需求分析与规划 明确系统核心功能模块&#xff1a;空巢老人健康监测、留守儿童学习与心理辅…...

    从遥控器到智能家居:拆解一个25年前的NEC协议,如何至今仍在‘发光发热’

    NEC红外协议&#xff1a;穿越25年的技术生命力与智能家居新应用 当你在智能音箱上说出"打开客厅空调"时&#xff0c;可能正触发着一套诞生于上世纪90年代的技术标准。NEC红外协议这个最初为电视遥控器设计的通信规范&#xff0c;如今仍在全球数以亿计的设备中默默工…...