首页 > 数据库 >Redis使用 Redis封装

Redis使用 Redis封装

时间:2022-09-01 20:11:17浏览次数:60  
标签:封装 String Redis value key 使用 public redisTemplate Name

封装Redis:
一、

application.properties:
#过期日期:10800秒(3分钟)
PitND.expire.pro=10800

二、

MainEventHERDMRedis.java:

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

import java.util.concurrent.TimeUnit;

@Component
public class MainEventHERDMRedis {

     @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    @Value("${PitND.expire.pro}")
    private int expireNum;

    /**
     * 设置主要功能Name的生命周期。
     **/
    public void setReHTE(String key) {
        redisTemplate.expire("主功能Name标识:" + key, expireNum, TimeUnit.SECONDS);
    }

    /**
     * 设置、获取缓存信息,过期时间。
     **/
    public void setReHTE(String key, Object value) {
        redisTemplate.opsForValue().set("主功能Name标识:特定标示:" + key, value, expireNum, TimeUnit.SECONDS);
    }

    public void setPitND(String key, Object value) {
        redisTemplate.opsForValue().set(key, value);
    }

    public void setPitND(String key, Object value, int timei, TimeUnit timeUnit) {
        redisTemplate.opsForValue().set(key, value, timei, timeUnit);
    }

    //过期设置。停留 (timei / 60) 分 (timei % 60) 秒后可用。
    public int getExpire(String key, TimeUnit timeUnit) {
        Long timei = redisTemplate.getExpire(key, timeUnit);
        return timei.intValue();
    }


    /**
     * 存储A信息的数据并设置过期时间。SECONDS分钟。
     **/
    public void setMainEventHERDM(String key, Object value) {
        redisTemplate.opsForValue().set("主功能Name标识:A信息:" + key, value, expireNum,TimeUnit.SECONDS);
    }

    /**
     * 存储B信息的数据并设置过期时间。
     **/
    public void setMainEventHERDMs(String key, Object value) {
        redisTemplate.opsForValue().set("主功能Name标识:B信息:" + key, value, expireNum,TimeUnit.SECONDS);
    }

    /**
     * 获取A信息 缓存
     **/
    public Object getMainEventHERDM(String key) {
       return redisTemplate.opsForValue().get("主功能Name标识:A信息:" + key);
    }

    /**
     * 获取B信息 缓存
     **/
    public Object getMainEventHERDMs(String key) {
       return redisTemplate.opsForValue().get("主功能Name标识:B信息:" + key);
    }


    /**
     * 是否存在
     **/
    public boolean keyisXxxx(String key) {
        return redisTemplate.opsForValue().get("主功能Name标识:" + key) == null ? false : true;
    }

    /**
     * 删除指定key
     **/
    public void delete(String key) {
        redisTemplate.delete("主功能Name标识:" + key);
    }

    /**
     * 删除key
     **/
    public void deletepro(String key) {
        redisTemplate.delete(key);
    }


//key is uuidvalue
//value 可以 存储 任何数据类型。例如int: setxx(key,new Integer(num))



}



使用:
@Autowired
private RedisMainEventHERDM redisMainEventHERDM;

//存储:
redisMainEventHERDM.setPitND(xxx)
//获取
 Object ot=  redisMainEventHERDM.getMainEventHERDM(xxx);
 if(ot!=null){
 int t=((Integer) ot).intValue();
 }

//停留xx分xx秒后使用。
int min=redisMainEventHERDM.getExpire(key,TimeUnit.SECONDS);

//"停留:"+min / 60+"分"+min % 60 +"秒后使用。";

 

标签:封装,String,Redis,value,key,使用,public,redisTemplate,Name
From: https://www.cnblogs.com/liuguiqing/p/16647704.html

相关文章

  • pytest数据驱动应用-excel测试用例数据读取封装
    接口测试数据存放excel、json、yaml、数据库实例:注册功能参数变量名类型说明是否必填手机号mobile_phoneint新用户的手机号是密码pwdstring8-1......
  • C#中委托的使用
    一、简介简单记录一下在c#中,委托的使用方法二、委托2.1委托是什么?委托是一个类,可以将方法当作参数进行传递,保存对函数的引用。可以将委托看成执行方法的一个东西。2.......
  • 使用OpenMMLab系列的开源库时,常用的脚本合集。
    使用OpenMMLab系列的开源库时,常用的脚本合集。开源仓库:gy-7/mmlab_scripts脚本解释:anchor_visiual.py生成的锚框可视化aug_test.py自动数据增强,单文件可视化效果......
  • vue中Promise的使用方法详情
    vue中Promise的使用方法详情目录一、使用1.promise是一种异步解决方案2.asyncawait简介:promise是什么,它可以说是异步编程的一种解决方法,就拿传统的ajax发请求来说,单个......
  • vue3 使用element-plus 按需引入
    1:npminstallelement-plus--save2:组件按需引入所需插件:unplugin-auto-import、unplugin-vue-components图标按需引入所需插件:unplugin-auto-import、unplugin-......
  • SocketLog 的基本使用
    前言:    最近在封装一个日志类时,想借鉴一下TP的实现方式,特别注意了一下TP日志的驱动。平时常用文件形式记录日志却忽略了还有一个Socket方式,只需要连接一下......
  • mysql 储存过程 如何使用递归循环来实现sql数据恢复
    CREATEPROCEDURE`relation_update`(inePIDvarchar(100),indeptidint)BEGINDECLAREtuivarchar(100);declarectint;declareiint;DECLAREcur1CURSORFORselect......
  • [ROS学习] 12.参数的使用与编程方法
    笔记参考:【ROS学习笔记】12.参数的使用与编程方法内容参考:基于B站ROS公开课:【古月居】古月·ROS入门21讲更多详情:http://wiki.ros.org/Parameter%20Server本节说明至......
  • 【Azure Redis 缓存】Azure Redis 功能性讨论三: 调优参数配置
    问题描述在使用AzureRedis的服务中,遇见了以下系列问题需要澄清:在开源Redis6.0中,多线程默认禁用,只使用主线程。如需开启需要修改redis.config配置文件。Redis的多线......
  • Redis 管理工具 - Redis Desktop Manager
     RedisDesktopManager可以轻松管理Redis桌面。为您提供了一个易于使用的GUI,可以访问您的Redis数据库并执行一些基本操作:将键视为树,CRUD键,通过shell执行命令。RESP.app......