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);
}
}
来源:CSDN
作者:精彩人生的博客
链接:https://blog.csdn.net/weixin_43524361/article/details/104696148