当前位置: 首页 > news >正文

【Redis】Redis客户端——Jedis(Java)

Redis Java使用案例

  • 环境配置
    • 引入依赖
    • 配置端⼝转发
    • 连接 Redis Server
  • Java基础代码操作Redis
    • set 和 get
    • exsits 和 del

环境配置

引入依赖

Java 操作 redis 的客⼾端有很多. 其中最知名的是 jedis.

创建 maven 项⽬, 把 jedis 的依赖拷⻉到 pom.xml 中.

        <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.4.3</version></dependency>

配置端⼝转发

Redis 服务器按照在云服务器上, 而我们编写的代码则是在本地主机.

要想让本地主机能访问 Redis, 需要把Redis的端口通过云服务器后台页面的 “防火墙” / “安全组” 放开端口到公网上. 但是这个操作非常危险(黑客会顺着Redis端口进来).

因此我们可以使用端口转发的方式, 直接把服务器的Redis端口映射到本地

在 xshell 中, 进⾏如下配置:

  1. 右键云服务器的会话, 选择属性.
  2. 找到隧道 -> 配置转移规则.

在这里插入图片描述
3) 使⽤该会话连接服务器.

此时, 访问本地的 8888, 就相当于访问对应服务器的 6379

注意, xshell 和服务器必须处在连接状态, 这样的映射才是有效的.

连接 Redis Server

  • 使⽤ JedisPool 描述 Redis 服务器的位置. 使⽤ url 来表⽰.
  • 使⽤ getResource 和服务器建⽴连接.
  • 连接使⽤完毕需要 close 关闭. 也可以直接使⽤ try ⾃动关闭.
  • 通过 ping ⽅法可以检测连接是否正确建⽴.

代码

    public static void main(String[] args) {JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");try (Jedis jedis = jedisPool.getResource()){String pong = jedis.ping();System.out.println(pong);}}

在这里插入图片描述

Java基础代码操作Redis

set 和 get

  • key 不存在时, 得到的 value 为 null

在这里插入图片描述
在这里插入图片描述

exsits 和 del

  • del 可以删除多个 key, 以变⻓参数列表的⽅式体现. 返回值是实际删除的 key 的个数.

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MATLAB 计算两点沿某个方向的间距(81)
  • MFC工控项目实例之六CFile添加菜单栏
  • 软件测试工程师必须了解的B/S架构及其测试要点
  • 8.3 数据库基础技术-关系代数
  • 加州大学圣地亚哥分校 沉浸式遥操作机器人系统
  • [GKCTF 2021]excel 骚操作1
  • shadertoy sdSegment 原理
  • 工厂现场多功能帮手,三防平板改善管理体验
  • 简化登录流程,助力应用建立用户体系
  • 计算机视觉概念科普
  • linux 安装kafaka单体服务
  • OD C卷 - Wonderland游乐园
  • 【第57课】SSRF服务端请求Gopher伪协议无回显利用黑白盒挖掘业务功能点
  • Maven的使用
  • 多线程面试常问
  • [笔记] php常见简单功能及函数
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【Linux系统编程】快速查找errno错误码信息
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android系统模拟器绘制实现概述
  • co模块的前端实现
  • Docker 笔记(2):Dockerfile
  • egg(89)--egg之redis的发布和订阅
  • HTTP--网络协议分层,http历史(二)
  • JavaScript创建对象的四种方式
  • java中具有继承关系的类及其对象初始化顺序
  • JS函数式编程 数组部分风格 ES6版
  • linux学习笔记
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Otto开发初探——微服务依赖管理新利器
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • vue 配置sass、scss全局变量
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 使用docker-compose进行多节点部署
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 网页视频流m3u8/ts视频下载
  • 系统认识JavaScript正则表达式
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​zookeeper集群配置与启动
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #HarmonyOS:基础语法
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $().each和$.each的区别
  • $.ajax()参数及用法
  • $.each()与$(selector).each()
  • (C++20) consteval立即函数
  • (LeetCode C++)盛最多水的容器
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (ZT)薛涌:谈贫说富
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (算法)硬币问题
  • (一)WLAN定义和基本架构转