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的信息安全

相关推荐
程序员黑豆6 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
hey_sml7 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
Doraemomo7 小时前
数据结构-环形链表
java·数据结构·链表
萧瑟余晖9 小时前
Java深入解析篇十七之SpringCloud
java·开发语言
IvorySQL9 小时前
PostgreSQL 日报 | JOIN 与外键优化(8 月 9 日)
数据库·postgresql
是未才9 小时前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
ltl9 小时前
自治数据库十年回顾:Peloton、NoisePage、OtterTune 到云原生 auto-tuning
数据库
ttod_qzstudio9 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
萧瑟余晖10 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
灯澜忆梦11 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化