Redis之Jedis

本文介绍了Jedis,它是Redis官方推荐的Java连接工具。通过在IDEA中导入Jedis和Fastjson的依赖,然后创建Jedis对象并进行简单的ping测试,展示了如何在Java项目中整合和使用Jedis来与Redis交互。

什么是Jedis

jedis是Redis官方推荐的java连接开发工具

idea整合Jedis:

导入依赖

<dependencies>
        <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<!--        jedis Redis的连接工具-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.2.0</version>
        </dependency>

<!--        fastjson 用于存储数据-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.62</version>
        </dependency>

    </dependencies>

测试:

获取一个Jedis对象,即可调用所有关于Redis命令的API

package com.chen;

import redis.clients.jedis.Jedis;


public class JedisTest {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1",6379);
        System.out.println(jedis.ping());
    }
}

<think>好的,我现在需要帮用户把他们的Redis YAML配置转换成对应的properties文件。用户提供的YAML配置里有很多Spring Redis的设置,使用了属性占位符,比如${redis.client.name}。用户的需求是生成一个对应的properties文件,这样他们可以用这些属性来替换YAML中的占位符。 首先,我需要理解用户提供的YAML结构。他们使用了spring.redis作为前缀,下面包括client-name、jedis.pool的各个配置项、password、sentinel的master和nodes。每个配置项都引用了外部的属性,比如${redis.jedis.pool.enabled}。这意味着用户可能是在使用Spring Boot的外部配置,通过application.properties来注入这些值。 接下来,我需要将这些属性映射到properties文件中。每个YAML中的属性占位符对应到properties文件中的键值对。例如,spring.redis.client-name对应的占位符是${redis.client.name},所以在properties文件中应该有redis.client.name=...。同样处理其他属性。 需要注意的是,YAML中的结构层次可能会影响属性键的命名。比如,spring.redis.jedis.pool.max-idle对应的是redis.jedis.pool.max.idle。因此,properties文件中的键需要与YAML中的占位符完全匹配,这样才能正确替换。 然后,我需要考虑默认值的问题。用户可能希望在properties文件中给出一些示例值,方便他们根据实际情况修改。例如,设置redis.password=your_password,或者redis.sentinel.nodes=host1:port1,host2:port2。这些示例值需要合理,符合实际使用场景。 另外,用户可能对某些配置项不太熟悉,比如test-on-borrow、min-evictable-idle-time-millis等。在properties文件中,可能需要添加注释说明这些参数的作用,或者建议的配置值,但根据用户的问题描述,他们可能只需要基本的键值对,不需要详细注释。 还要检查是否有拼写错误,确保每个属性键与YAML中的占位符完全一致。例如,block-when-exhausted对应的是redis.jedis.pool.block.when.exhausted,不能有错别字。 最后,生成完整的properties文件内容,并确保格式正确,键值对用等号连接,每行一个属性。同时,可能需要提醒用户根据实际环境修改这些值,比如密码、主机名、端口等。 总结步骤: 1. 列出所有YAML中使用的占位符。 2. 将每个占位符转换为properties中的键,并赋予示例值。 3. 确保结构正确,键名与占位符匹配。 4. 检查拼写和层级是否正确。 5. 提供示例值,方便用户修改。 6. 输出完整的properties内容。 </think>以下是与您提供的 YAML 配置对应的 `application.properties` 示例: ```properties # Redis 基础配置 redis.client.name=myapp-redis-client redis.password=your_redis_password redis.master.name=mymaster # Sentinel 节点配置(多个节点用逗号分隔) redis.sentinel.nodes=192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379 # Jedis 连接池配置 redis.jedis.pool.enabled=true redis.jedis.pool.max.idle=8 redis.jedis.pool.min.idle=2 redis.jedis.pool.max.active=20 redis.jedis.pool.block.when.exhausted=true redis.jedis.pool.max.wait=2000 redis.jedis.pool.test.on.borrow=false redis.jedis.pool.test.on.return=false redis.jedis.pool.test.while.idle=true redis.jedis.pool.min.evictable.idle.time.millis=600000 redis.jedis.pool.time.between.eviction.runs=30000 ``` --- ### 配置说明: 1. **基础参数** - `redis.client.name`:客户端名称(任意字符串) - `redis.password`:Redis 认证密码(若未启用认证可留空) - `redis.master.name`:Sentinel 模式下的主节点名称(需与 Sentinel 配置一致) 2. **Sentinel 配置** - `redis.sentinel.nodes`:列出所有 Sentinel 节点地址(IP:PORT) 3. **连接池参数** - `max.idle`/`min.idle`:最大/最小空闲连接数 - `max.active`:最大连接数(需根据系统负载调整) - `max.wait`:等待连接的最长时间(毫秒) - `time.between.eviction.runs`:空闲连接回收线程运行间隔(毫秒) 4. **验证配置** - `test.while.idle`:启用空闲连接验证(防止连接失效) - `min.evictable.idle.time.millis`:连接空闲超时时间(毫秒) --- ### 注意事项: 1. **环境适配**:需根据实际 Redis 部署环境修改 `sentinel.nodes` 和 `password` 2. **性能调优**:生产环境建议调整 `max.active`(推荐 50-100)和 `max.idle`(推荐 10-30) 3. **Spring Boot 2.x 兼容性**:Jedis 配置路径为 `spring.redis.jedis.pool.*`,需确认 Spring Boot 版本是否支持 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫荒莫慌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值