基于RedisTemplate的实践优雅地封装缓存工具类

为了简化 Redis 的使用,我们通常会对其进行封装,提供一个统一的工具类。本文将介绍如何借助HuTool工具类(StrUtil,CollUtil)与(
org.springframework.data.redis.core.RedisTemplate
)来封装 Redis 工具类,并分享一些关键功能的实现。

1. 工具类设计目标

简化操作:封装 Redis 的常用操作,如缓存设置、获取、删除等。
异常处理:统一处理 Redis 操作中的异常,避免代码冗余。
原子性操作:支持原子性操作,如比较并删除(CAD)。
批量操作:支持批量删除缓存,提高操作效率。


2. 工具类核心功能
2.1 缓存失效时间设置

public static Boolean expire(String key, long time) {
    if (key.contains(StrUtil.SPACE)) {
        throw new ExampleProjectException(ResponseEnum.EXCEPTION);
    }
    try {
        if (time > 0) {
            REDIS_TEMPLATE.expire(key, time, TimeUnit.SECONDS);
        }
        return Boolean.TRUE;
    } catch (Exception e) {
        logger.error("Set expire error: {}", e.getMessage());
        return Boolean.FALS

你可能感兴趣的:(架构,缓存,spring,java)