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

【Redis】Redis 的常见客户端汇总

目录

一、命令行客户端

二、图形界面的客户端

三、Java 客户端

3.1 SpringDataRedis

3.2 Jedis

3.2.1 连接池的配置

3.3 Lettuce

3.3.1 RedisTemplate 工具类实现

3.3.2 自定义序列化器

3.3.3 StringRedisTemplate

3.3.4 集群配置

3.3.4.1 刷新节点集群拓扑动态感应

四、RedisService 的封装


一、命令行客户端

  • h :指定要连接的 Redis 服务器的 IP 。

  • p :指定要连接的 Redis 的端口号。

二、图形界面的客户端

1. Redis Desktop Manager

官网为:https://resp.app/原来是 http://redisdesktop.com )。

2. RedisPlus

RedisPlus是为 Redis 可视化管理开发的一款开源免费的桌面客户端软件,支持 Windows 、Linux 、 Mac 三大系统平台, RedisPlus 提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。RedisPlus的官网地址为 https://gitee.com/MaxBill/RedisPlus 。

3. Java 代码客户端

所谓Java 代码客户端就是一套操作 Redis 的 API ,其作用就像 JDBC 一样,所以 Java 代码客户端其实就是一个或多个 Jar 包,提供了对 Redis 的操作接口。

三、Java 客户端

3.1 SpringDataRedis

Spring Data Redis 是 Spring 框架提供的 数据访问抽象层,用于简化 Redis 在 Spring 应用中的使用。它不直接实现 Redis 通信,而是 整合 Jedis、Lettuce 等客户端,提供统一的 API 和更高级的功能,使开发者无需关心底层通信细节。

<!-- Spring Data Redis (默认使用 Lettuce) -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

3.2 Jedis

1. 添加依赖

 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version>
</dependency>

2.  创建项目并建立连接

 
private Jedis jedis;@BeforeEachvoid setUp() {// 建立连接jedis = new Jedis("192.168.150.101", 6379);// 设置密码jedis.auth("123321");// 选择库jedis.select(0);}

3. 代码实现

 @Testvoid testString() {// 插入数据,方法名称就是redis命令名称,非常简单String result = jedis.set("name", "张三");System.out.println("result = " + result); // 获取数据String name = jedis.get("name");System.out.println("name = " + name);}

 4. 释放资源

@AfterEachvoid tearDown() {// 释放资源if (jedis != null) {jedis.close();}}

3.2.1 连接池的配置

Jedis 本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此我们推荐大家使用Jedis连接池代替 Jedis 的直连方式。

 public class JedisConnectionFactory {private static final JedisPool jedisPool;static {JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();// 最大连接jedisPoolConfig.setMaxTotal(8);// 最大空闲连接jedisPoolConfig.setMaxIdle(8); // 最小空闲连接jedisPoolConfig.setMinIdle(0);// 设置最长等待时间, msjedisPoolConfig.setMaxWaitMillis(200);jedisPool = new JedisPool(jedisPoolConfig, "192.168.150.101", 6379,1000, "123321");}// 获取Jedis对象public static Jedis getJedis(){return jedisPool.getResource();}}

3.3 Lettuce

Lettuce是一个 Redis 的 Java 驱动包,Lettuce 翻译为生菜,没错,就是吃的那种生菜,所以它的 Logo 长这样:

http://www.xdnf.cn/news/12058.html

相关文章:

  • 四六级监考《培训学习》+《培训考试》
  • linux 串口调试命令 stty
  • HTML中各种标签的作用
  • 储能数字化的第一步,是把直流能量“看清楚
  • 【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const
  • 二叉树-104.二叉树的最大深度-力扣(LeetCode)
  • (头歌作业)-6.5 幻方(project)
  • 【大模型】MCP是啥?它和点菜、做菜、端菜有啥关系?
  • 【python深度学习】Day 45 Tensorboard使用介绍
  • [蓝桥杯]摆动序列
  • 深度强化学习驱动的智能爬取策略优化:基于网页结构特征的状态表示方法
  • Ubuntu ssh 永久添加私钥
  • Ubuntu ifconfig 查不到ens33网卡
  • 【Android基础回顾】三:Android启动流程
  • 使用Python提取PDF元数据的完整指南
  • 《棒球百科知识》1号位是什么位置·野球1号位
  • 三甲医院“AI平台+专家系统”双轮驱动模式的最新编程方向分析
  • 基于51单片机的天然气浓度检测报警系统
  • 第14节 Node.js 全局对象
  • AI系统微服务架构——服务网关与API网关
  • STM32发送MQTT请求到Onenet
  • 基于 TensorFlow 2 的 WGAN来生成表格数据、数值数据和序列数据。 WGAN生成对抗网络。代码仅供参考
  • kubernetes jenkins pipeline优化拉取大仓库性能指定分支+深度
  • 【物联网-S7Comm协议】
  • 快速用 uv 模拟发布一个 Python 依赖包到 TestPyPI 上,以及常用命令
  • scDown:单细胞RNA测序下游分析管道-文献精读140
  • Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
  • Win10停更,Win11不好用?现在Mac电脑比Win11电脑更便宜
  • 邮件多分类
  • Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战