package cn.huge.module.redis.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import java.util.concurrent.TimeUnit; /** * @title: RedisService 类提供了简化的 Redis 操作接口,用于在 Spring Boot 应用中存储和检索数据。 * @Description 它通过 RedisTemplate 与 Redis 服务器交互,执行常见的操作如设置值、获取值、设置值带过期时间和删除值。 * @company hugeinfo * @author liyj * @Time 2024-08-17 15:30:56 * @version 1.0.0 */ @Service public class RedisService { /** * 意义: RedisTemplate 是 Spring 提供的一个 Redis 操作模板,它抽象了 Redis 的底层访问, * 使开发者可以用 Java 对象操作 Redis。使用 @Autowired 注解,Spring 自动将配置好的 RedisTemplate 注入到 RedisService 类中 */ @Autowired private RedisTemplate redisTemplate; /** * 向 Redis 中存储一个键值对 * @param key * @param value */ public void setValue(String key, Object value) { redisTemplate.opsForValue().set(key, value); } /** * 从 Redis 中获取指定键的值 * @param key * @return */ public Object getValue(String key) { return redisTemplate.opsForValue().get(key); } /** * 向 Redis 中存储一个键值对,并设置其过期时间 * @param key * @param value * @param timeout * @param timeUnit */ public void setValueWithExpiry(String key, Object value, long timeout, TimeUnit timeUnit) { redisTemplate.opsForValue().set(key, value, timeout, timeUnit); } /** * 从 Redis 中删除指定键及其对应的值 * @param key */ public void deleteValue(String key) { redisTemplate.delete(key); } }