Redis 使用~如何在Java中连接使用redis

前言

Redis的使用此篇需要有前置linux虚拟机相关知识,此篇借助xshell,依据虚拟机云服务器上的redis实现跨主机联通,此篇不介绍多余废话,具体详情指令,可以去官网查询

Commands | Docs 去搜索相关指令

要想在Java中使用Redis,需要这两个前置知识,redis各种数据结构的指令 和 虚拟机知识

此篇将会清晰的向你讲述如何在Java中客户端连接Redis并使用

Java生态中,封装了RESP协议,实现的redis客户端是有很多的,可以使用jedis(提供的api和redis命令高度一致)

1.普通Java项目使用Redis

1.jedis Maven依赖注入

java 复制代码
<!-- Source: https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>5.2.0</version>
    <scope>compile</scope>
</dependency>

2.配置ssh端口转发

把云服务器的redis端口,映射到本地主机

配置隧道 ssh端口映射 就称为隧道配置

只有当ssh连接成功之后,端口转发才生效

判断是否连接成功 可以使用netstat命令去cmd查看

如果此时是listen状态说明已经连接上了

后续 Java代码中,通过127.0.0.1:8080 就能操作到咱们云服务器的redis了

同时外面的客户端,是无法直接访问云服务器的6379的~

如果想要跨主机访问,通过本地主机访问云服务器

3.连接上Redis

4.使用Redis

后续的话就可以根据jedis去操作Redis数据库了

以上属于普通Java项目想要连接Redis的操作

2.Java SpringBoot 操作Redis

1.加入依赖(创建Spring项目时,加入)

2.2.配置隧道

3.使用RedisTemplate(不止它一个)

还有一个处理二进制数据,redisTemplate主要处理字节数据

java 复制代码
@Autowired
     private RedisTemplate redisTemplate;

通过RedisTemplate去操作redis指令,RedisTemplate是先将被存储的数据转换成 字节数组(不可读),再存储到redis中,读取的时候按照字节数组读取

分门别类的为我们提供的不同数据类型的指令方法

每个大类下面又会有多种指令方法

但需注意,RedisTemplate下的方法与Redis客户端的方法指令有所区别

可以通过看函数,分辨内容。

RedisTemplate中的方法有些并没有我们想要使用的,比如清库,这些操作

注意:回调函数操作原生指令

我们可以通过它的一个回调函数去操作原生指令

源码回调函数如下:

总结

其实谈到Java,我们一般就离不开spring,所以后续其实SpringBoot操作 redis 是一大重点,这块的连接使用并不难,普通Java项目我们就引入Jedis库,SpringBoot项目我们就通过引入redis相关依赖,然后使用RedisTemplate 去操作redis.

为什么要配置隧道,是因为我们主要想利用端口的映射,如果开发redis端口在公网上 风险极高,通过隧道ssh协议加密传输,并且借助端口映射访问,有效保护我们redis的信息安全

相关推荐
步行cgn4 小时前
Spring c 命名空间注入详解
java·后端·spring
明月_清风4 小时前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
aramae5 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
Rain的Java大神之路5 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
十二同学啊5 小时前
向量数据库:从核心原理到 RAG 与 Java 实战
数据库
Wang's Blog6 小时前
Java 接入Redis: 通用命令与键管理
java·服务器·redis
Wang's Blog6 小时前
Java 接入Redis: 列表集合与有序集合操作命令
java·服务器·redis
蓝速科技6 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
Ivanqhz6 小时前
SVD++算法
java·服务器·网络·深度学习·神经网络
qq_2518364577 小时前
springboot vue3 开发实现 拼豆管理系统
java·开发语言·ai编程