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