SpringBoot中常用的 Redis 命令实现

1) 设置键值对
java 复制代码
@Service
public class RedisService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    // 设置键值对
    public void set(String key, String value) {
        redisTemplate.opsForValue().set(key, value);
    }
    
    // 获取值
    public String get(String key) {
        return (String) redisTemplate.opsForValue().get(key);
    }
}
2) 操作 Hash 类型
java 复制代码
@Service
public class RedisService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    // 设置 Hash 值
    public void setHashValue(String hashKey, String field, String value) {
        redisTemplate.opsForHash().put(hashKey, field, value);
    }
    
    // 获取 Hash 值
    public String getHashValue(String hashKey, String field) {
        return (String) redisTemplate.opsForHash().get(hashKey, field);
    }
}
3) 操作 List 类型
java 复制代码
@Service
public class RedisService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    // 左侧插入 List
    public void leftPushToList(String key, String value) {
        redisTemplate.opsForList().leftPush(key, value);
    }

    // 右侧插入 List
    public void rightPushToList(String key, String value) {
        redisTemplate.opsForList().rightPush(key, value);
    }

    // 获取 List
    public List<Object> getList(String key) {
        return redisTemplate.opsForList().range(key, 0, -1);
    }
}
4) 操作 Set 类型
java 复制代码
@Service
public class RedisService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    // 添加元素到 Set
    public void addToSet(String key, String value) {
        redisTemplate.opsForSet().add(key, value);
    }

    // 获取 Set
    public Set<Object> getSet(String key) {
        return redisTemplate.opsForSet().members(key);
    }
}
5) 操作 Sorted Set (ZSet)
java 复制代码
@Service
public class RedisService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    // 向 Sorted Set 中添加元素
    public void addToZSet(String key, String value, double score) {
        redisTemplate.opsForZSet().add(key, value, score);
    }

    // 获取 Sorted Set 中的元素
    public Set<Object> getZSet(String key) {
        return redisTemplate.opsForZSet().range(key, 0, -1);
    }
}
6) 删除键
java 复制代码
public void deleteKey(String key) {
    redisTemplate.delete(key);
}
7) 检查键是否存在
java 复制代码
public boolean hasKey(String key) {
    return redisTemplate.hasKey(key);
}
8) 设置键的过期时间
java 复制代码
public void setKeyExpiration(String key, long timeout) {
    redisTemplate.expire(key, timeout, TimeUnit.SECONDS);
}
9) 获取键的过期时间
java 复制代码
public long getKeyExpiration(String key) {
    return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}

总结

通过 RedisTemplate ,Spring Boot 提供了对 Redis 常见数据类型(如 String, List, Set, Hash, ZSet)和命令的全面支持。您可以通过配置 Redis 连接信息、注入 **RedisTemplate**来轻松操作 Redis,进行高效的数据存取。

相关推荐
秦jh_2 分钟前
【Redis】客户端使用
数据库·redis·缓存
我真会写代码12 分钟前
Redis核心特性详解:事务、发布订阅与数据删除淘汰策略
java·数据库·redis
IT 行者37 分钟前
LangChain4j 集成 Redis 向量存储:我踩过的坑和选型建议
java·人工智能·redis·后端
brucelee18638 分钟前
Spring Boot 测试最佳实践
spring boot·后端·log4j
一定要AK40 分钟前
Java流程控制
java·开发语言·笔记
wenlonglanying1 小时前
nginx 代理 redis
运维·redis·nginx
tryCbest1 小时前
Java和Python开发项目部署简介
java·开发语言·python
huabiangaozhi1 小时前
postgresql链接详解
java
随风,奔跑1 小时前
Redis
数据库·redis·缓存
大阿明1 小时前
PostgreSQL常用时间函数与时间计算提取示例说明
java