Java 操作Redis封装RedisTemplate的常用方法工具类(获取key对应的过期时间、判断某个key是否存在、添加、删除、取值、查找匹配的key值)

  • A+
所属分类:redis

Java 操作Redis封装RedisTemplate的常用方法工具类

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.stereotype.Component;

import javax.annotation.Resource;

import java.util.Set;

import java.util.concurrent.TimeUnit;

/**

 * @Author Lyt

 * @create 2021/5/6 15:11

 * RedisTemplate工具类

 */

@Component

public class RedisUtils {

    @Resource

    private RedisTemplate<String,Object> redisTemplate;

    /**

     * 写入缓存,永不过期

     * @param key String

     * @param value Object

     * @return flag boolean

     */

    public boolean set(String key,Object value){

        boolean flag = false;

        try{

            redisTemplate.opsForValue().set(key,value);

            flag=true;

        }catch (Exception ex){

            flag=false;

        }

        return flag;

    }

    /**

     * 设置带过期时间的缓存

     * @param key String

     * @param value Object

     * @param expire long 过期时间

     * @return flag boolean

     */

    public boolean set(String key,Object value,long expire){

        boolean flag = false;

        try{

            if (expire>0){

                redisTemplate.opsForValue().set(key,value,expire, TimeUnit.SECONDS);

            }else {

                this.set(key,value);

            }

            flag=true;

        }catch (Exception ex){

            flag=false;

        }

        return flag;

    }

    /**

     *取值方法

     * @param key

     * @return

     */

    public Object get(String key){

        return redisTemplate.opsForValue().get(key);

    }

    /**

     * 删除方法

     * @param key

     * @return

     */

    public boolean del(String key){

        return redisTemplate.delete(key);

    }

    /**

     * 判断某个key是否存在

     * @param key

     * @return

     */

    public boolean exist(String key){

        Boolean flag =false;

        try{

            flag=redisTemplate.hasKey(key);

            return flag;

        }catch(Exception e){

            e.printStackTrace();

        }

        return flag;

    }

    /**

     * 查找匹配的key值,返回一个Set集合类型

     * @param name

     * @return

     */

    public Set<String> getKeys(String name){

        Set<String> keys = redisTemplate.keys("*");

        return keys;

    }

    /**

     * 从redis中获取key对应的过期时间;

     * 如果该值有过期时间,就返回相应的过期时间;

     * 如果该值没有设置过期时间,就返回-1;

     * 如果没有该key,就返回-2;

     * @param key

     * @return

     */

    public long expire(String key) {

        return redisTemplate.opsForValue().getOperations().getExpire(key);

    }

}

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: