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

相关推荐
JAVA面经实录91712 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
Flying pigs~~13 小时前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL14 小时前
mysql之如何获知版本
数据库·mysql
许彰午14 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_8323655215 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Bat U15 小时前
JavaEE|多线程初阶(七)
java·开发语言
2301_7796224115 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_7662834415 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
北极的冰箱15 小时前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
XDH_CS16 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql