黑马Redis A基础01-命令String类型-JSON格式-Hash类型-List类型-Set类型-SortedSet类型-Redis的java客户端-jedis连接池-Spring集成Redis
1.Redis入门介绍

- Redis 是一款高性能的开源内存数据库,核心是 “内存存储 + 可选持久化”,主打高速读写与多场景适配。

- NoSql 结构化/关联的/可查询/事务


- Redis的下载和安装 https://pan.quark.cn/s/d039be556127#/list/share

- Redis数据结构介绍

- 通用命令

- String类型

- String类型的常见命令

- JSON格式




- Hash类型

- Hash类型的常见命令

- List类型



- Set类型

- Set类型的常见命令

- SortedSet类型

- SortedSet类型的常见命令

- Redis的Java客户端

- Jedis

- 修改配置文件,更改密码

- java客户端连接



- Jedis连接池

- 要解决 Jedis 线程不安全的问题,推荐使用 Jedis 连接池(JedisPool),它通过连接复用和线程安全的资源管理来避免线程安全风险。以下是完整代码及分析:
package com.heima.redis;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;public class JedisConnectionFactory {// 定义 Jedis 连接池(静态final保证全局唯一)private static final JedisPool jedisPool;// 静态代码块初始化连接池static {// 1. 配置连接池参数JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();jedisPoolConfig.setMaxTotal(8); // 最大连接数jedisPoolConfig.setMaxIdle(8); // 最大空闲连接数jedisPoolConfig.setMinIdle(0); // 最小空闲连接数jedisPoolConfig.setMaxWaitMillis(200); // 连接最长等待时间(毫秒)// 2. 初始化连接池(参数:配置、Redis主机、端口、超时时间、密码)jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379, 1000, "123456");}// 提供获取 Jedis 连接的方法public static Jedis getJedis() {return jedisPool.getResource();}
}

package com.heima.test;
import com.heima.redis.JedisConnectionFactory;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;
import java.util.Map;public class JedisTest {private Jedis jedis;@BeforeEachpublic void setUp() {// 创建jedis对象jedis = JedisConnectionFactory.getJedis();// 配置密码jedis.auth("123456");// 选择数据库jedis.select(0);}@Testpublic void testString() {// 添加数据String result = jedis.set("name", "威虎山");System.out.println("result = " + result);// 获取数据String name = jedis.get("name");System.out.println("name = " + name);}@Testpublic void testHash() {jedis.hset("user:1", "name", "jack");jedis.hset("user:1", "age", "18");// 输出name和ageMap<String, String> map = jedis.hgetAll("user:1");System.out.println("map = " + map);}@AfterEachpublic void tearDown() {if (jedis != null) {jedis.close();}}
}通过这种方式,既解决了 Jedis 线程不安全的问题,
又避免了频繁创建 / 销毁连接的性能损耗,是生产环境中推荐的 Redis 客户端使用方式。
- Spring集成Redis

- SpringDataRedis快速入门

- 依赖引入

- 更改配置

- SpringDataRedis快速入门


