189 8069 5689

怎么在springboot中使用Redis实现工具类

本篇文章为大家展示了怎么在spring boot中使用redis实现工具类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联建站作为成都网站建设公司,专注网站建设、网站设计,有关成都企业网站建设方案、改版、费用等问题,行业涉及成都边坡防护网等多个领域,已为上千家企业服务,得到了客户的尊重与认可。

引入依赖


  org.springframework.boot
  spring-boot-starter-data-redis

加入配置

# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379

实现代码

这里用到了 静态类工具类中 如何使用 @Autowired

package com.lmxdawn.api.common.utils;

import java.util.Collection;
import java.util.Set;
import java.util.concurrent.TimeUnit;

import javax.annotation.PostConstruct;

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

/**
 * 缓存操作类
 */
@Component
public class CacheUtils {
  @Autowired
  private RedisTemplate redisTemplate;

  // 维护一个本类的静态变量
  private static CacheUtils cacheUtils;

  @PostConstruct
  public void init() {
    cacheUtils = this;
    cacheUtils.redisTemplate = this.redisTemplate;
  }

  /**
   * 将参数中的字符串值设置为键的值,不设置过期时间
   * @param key
   * @param value 必须要实现 Serializable 接口
   */
  public static void set(String key, String value) {
    cacheUtils.redisTemplate.opsForValue().set(key, value);
  }

  /**
   * 将参数中的字符串值设置为键的值,设置过期时间
   * @param key
   * @param value 必须要实现 Serializable 接口
   * @param timeout
   */
  public static void set(String key, String value, Long timeout) {
    cacheUtils.redisTemplate.opsForValue().set(key, value, timeout, TimeUnit.SECONDS);
  }

  /**
   * 获取与指定键相关的值
   * @param key
   * @return
   */
  public static Object get(String key) {
    return cacheUtils.redisTemplate.opsForValue().get(key);
  }

  /**
   * 设置某个键的过期时间
   * @param key 键值
   * @param ttl 过期秒数
   */
  public static boolean expire(String key, Long ttl) {
    return cacheUtils.redisTemplate.expire(key, ttl, TimeUnit.SECONDS);
  }

  /**
   * 判断某个键是否存在
   * @param key 键值
   */
  public static boolean hasKey(String key) {
    return cacheUtils.redisTemplate.hasKey(key);
  }

  /**
   * 向集合添加元素
   * @param key
   * @param value
   * @return 返回值为设置成功的value数
   */
  public static Long sAdd(String key, String... value) {
    return cacheUtils.redisTemplate.opsForSet().add(key, value);
  }

  /**
   * 获取集合中的某个元素
   * @param key
   * @return 返回值为redis中键值为key的value的Set集合
   */
  public static Set sGetMembers(String key) {
    return cacheUtils.redisTemplate.opsForSet().members(key);
  }

  /**
   * 将给定分数的指定成员添加到键中存储的排序集合中
   * @param key
   * @param value
   * @param score
   * @return
   */
  public static Boolean zAdd(String key, String value, double score) {
    return cacheUtils.redisTemplate.opsForZSet().add(key, value, score);
  }

  /**
   * 返回指定排序集中给定成员的分数
   * @param key
   * @param value
   * @return
   */
  public static Double zScore(String key, String value) {
    return cacheUtils.redisTemplate.opsForZSet().score(key, value);
  }

  /**
   * 删除指定的键
   * @param key
   * @return
   */
  public static Boolean delete(String key) {
    return cacheUtils.redisTemplate.delete(key);
  }

  /**
   * 删除多个键
   * @param keys
   * @return
   */
  public static Long delete(Collection keys) {
    return cacheUtils.redisTemplate.delete(keys);
  }
}

springboot是什么

springboot一种全新的编程规范,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,SpringBoot也是一个服务于框架的框架,服务范围是简化配置文件。

上述内容就是怎么在spring boot中使用Redis实现工具类,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


当前标题:怎么在springboot中使用Redis实现工具类
文章出自:http://cdxtjz.com/article/jeccps.html

其他资讯