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

相关推荐
IpdataCloud1 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
wuqingshun3141592 小时前
MYSQL的乐观锁和悲观锁是什么?
java
wuqingshun3141592 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖2 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
唐青枫2 小时前
Java SLF4J 实战指南:从日志门面到 Logback、MDC 和链路追踪
java
jvmind_dev3 小时前
Java GC 实战指南(番外篇):被忽视的隐形杀手 —— Class Unloading 如何拖垮 GC
java·后端
An_s3 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
AIGS0013 小时前
跨越语义鸿沟:企业本体语义平台的构建与落地
java·人工智能·python·机器学习·人工智能ai大模型应用
蓝胖子酱3 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
snow@li4 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存