每期一个小窍门(001): 一个简单优雅的redis 工具类 (最简单版本)

Posted 李昊轩的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每期一个小窍门(001): 一个简单优雅的redis 工具类 (最简单版本)相关的知识,希望对你有一定的参考价值。

最近决定新开一个每期小窍门专栏, 向志同道合的朋友们互相分享一些小窍门, 小经验,

这一期, 给大家一个非常简单好用的redis工具类, 非常轻量, 砍掉了很多不必要的功能, 如果需要比如过期的相关功能, 私信或下方评论发送.

需要如下maven依赖, 如果用的其他的包管理工具, 也很容易找到, 都差不多的

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
spring:
  redis:
    host: 127.0.0.1
    port: 6379
    jedis:
      pool:
        max-active: 8
        max-wait: -1
        max-idle: 500
        min-idle: 0

工具类

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class RedisUtil {

    @Autowired
    private RedisTemplate<Object, Object> redisTemplate;

    public <E> void put(String key, E value) {
        redisTemplate.opsForValue().set(key, value);
    }

    public Boolean del(String key) {
        return redisTemplate.delete(key);
    }

    public <E> E getSingle(String key, Class<E> cls) {
        Object res = redisTemplate.opsForValue().get(key);
        return cast(res, cls);
    }

    public <E> List<E> getList(String key, Class<E> cls) {
        Object res = redisTemplate.opsForValue().get(key);
        return castList(res, cls);
    }


    @SuppressWarnings("unchecked")
    private static <T> T cast(Object obj, Class<T> cls) {
        return (T) obj;
    }


    @SuppressWarnings("unchecked")
    private static <T> List<T> castList(Object obj, Class<T> cls) {
        return (List<T>) obj;
    }
}

以上是关于每期一个小窍门(001): 一个简单优雅的redis 工具类 (最简单版本)的主要内容,如果未能解决你的问题,请参考以下文章

每期一个小窍门: 利用 supervisor 保证进程级别的简单高可用

每期一个小窍门: 利用 supervisor 保证进程级别的简单高可用

每期一个小窍门: 简单文件摘要工具类

每期一个小窍门: 简单文件摘要工具类

每期一个小窍门: 简单文件摘要工具类

每期一个小窍门: filebeat 简单日志文件抓取到es