redisUtil

那年仲夏 提交于 2020-03-07 04:28:03

package com.neusoft.kms.util;

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

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;

/**

  • Redis工具

  • @author albert.ding
    */
    @Component
    public class RedisUtil {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    /**

    • 获取指定key的值
    • @param key
    • @return
    • @author albert.ding
      */
      public String get(String key) {
      return stringRedisTemplate.opsForValue().get(key);
      }

    /**

    • 设置指定key的值
    • @param key
    • @param value
    • @author albert.ding
      */
      public void set(String key, String value) {
      stringRedisTemplate.opsForValue().set(key, value);
      }

    /**

    • 将值value关联到key,并将key的过期时间设为seconds(以秒为单位)
    • @param key
    • @param value
    • @param timeout (seconds)
    • @author albert.ding
      */
      public void setex(String key, String value, int timeout) {
      stringRedisTemplate.opsForValue().set(key, value);
      stringRedisTemplate.expire(key, timeout, TimeUnit.SECONDS);
      }

    /**

    • 检查给定key是否存在
    • @param key
    • @return
    • @author albert.ding
      */
      public boolean exists(String key) {
      return stringRedisTemplate.hasKey(key);
      }

    /**

    • key存在时删除key
    • @param key
    • @author albert.ding
      */
      public void del(String key) {
      stringRedisTemplate.delete(key);
      }

    /**

    • 获取存储在哈希表中指定字段的值
    • @param key
    • @param field
    • @return
    • @author albert.ding
      */
      public String hget(String key, String field) {
      return (String) stringRedisTemplate.opsForHash().get(key, field);
      }

    /**

    • 将哈希表key中的字段field的值设为value
    • @param key
    • @param field
    • @param value
    • @author albert.ding
      */
      public void hset(String key, String field, String value) {
      stringRedisTemplate.opsForHash().put(key, field, value);
      }

    /**

    • 获取在哈希表中指定key的所有字段和值
    • @param key
    • @return
    • @author albert.ding
      */
      public Map<String, String> hgetall(String key) {
      return stringRedisTemplate.<String, String>opsForHash().entries(key);
      }

    /**

    • 获取哈希表中所有值
    • @param key
    • @return
    • @author albert.ding
      */
      public List hvals(String key) {
      return stringRedisTemplate.<String, String>opsForHash().values(key);
      }

    /**

    • 获取所有哈希表中的字段
    • @param key
    • @return
    • @author albert.ding
      */
      public Set hkeys(String key) {
      return stringRedisTemplate.<String, String>opsForHash().keys(key);
      }

    /**

    • 获取哈希表中字段的数量
    • @param key
    • @return
    • @author albert.ding
      */
      public Long hlen(String key) {
      return stringRedisTemplate.opsForHash().size(key);
      }

    /**

    • 查看哈希表key中,指定的字段是否存在
    • @param key
    • @return
    • @author albert.ding
      */
      public boolean hexists(String key, String field) {
      return stringRedisTemplate.opsForHash().hasKey(key, field);
      }

    /**

    • 删除一个哈希表字段
    • @param key
    • @author albert.ding
      */
      public void hdel(String key, String field) {
      stringRedisTemplate.opsForHash().delete(key, field);
      }
      }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!