java操作redis的操作_Java连接操作redis

这是一个Redis工具类的实现,包含了设置过期时间、删除键、存储和获取普通对象、操作Hash、Set、List等数据结构的方法。通过@Autowired注解注入RedisTemplate,提供了方便的Redis操作。
摘要由CSDN通过智能技术生成

packagecom.zl.utils;importorg.apache.tomcat.util.buf.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.redis.core.RedisTemplate;importorg.springframework.stereotype.Component;importjava.util.Collection;importjava.util.List;importjava.util.Map;importjava.util.concurrent.TimeUnit;/*** Redis工具类,使用之前请确保RedisTemplate成功注入

*

*@authorye17186

*@version2019/2/22 10:48*/@Componentpublic classRedisUtils {privateRedisUtils() {

}

@AutowiredprivateRedisTemplate redisTemplate;/*** 设置有效时间

*

*@paramkey Redis键

*@paramtimeout 超时时间

*@returntrue=设置成功;false=设置失败*/

public boolean expire(final String key, final longtimeout) {returnexpire(key, timeout, TimeUnit.SECONDS);

}/*** 设置有效时间

*

*@paramkey Redis键

*@paramtimeout 超时时间

*@paramunit 时间单位

*@returntrue=设置成功;false=设置失败*/

public boolean expire(final String key, final long timeout, finalTimeUnit unit) {

Boolean ret=redisTemplate.expire(key, timeout, unit);return ret != null &&ret;

}/*** 删除单个key

*

*@paramkey 键

*@returntrue=删除成功;false=删除失败*/

public boolean del(finalString key) {

Boolean ret=redisTemplate.delete(key);return ret != null &&ret;

}/*** 删除多个key

*

*@paramkeys 键集合

*@return成功删除的个数*/

public long del(final Collectionkeys) {

Long ret=redisTemplate.delete(keys);return ret == null ? 0: ret;

}/*** 存入普通对象

*

*@paramkey Redis键

*@paramvalue 值*/

public void set(final String key, finalObject value) {

redisTemplate.opsForValue().set(key, value,1, TimeUnit.MINUTES);

}//存储普通对象操作

/*** 存入普通对象

*

*@paramkey 键

*@paramvalue 值

*@paramtimeout 有效期,单位秒*/

public void set(final String key, final Object value, final longtimeout) {

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

}/*** 获取普通对象

*

*@paramkey 键

*@return对象*/

public Object get(finalString key) {returnredisTemplate.opsForValue().get(key);

}//存储Hash操作

/*** 往Hash中存入数据

*

*@paramkey Redis键

*@paramhKey Hash键

*@paramvalue 值*/

public void hPut(final String key, final String hKey, finalObject value) {

redisTemplate.opsForHash().put(key, hKey, value);

}/*** 往Hash中存入多个数据

*

*@paramkey Redis键

*@paramvalues Hash键值对*/

public void hPutAll(final String key, final Mapvalues) {

redisTemplate.opsForHash().putAll(key, values);

}/*** 获取Hash中的数据

*

*@paramkey Redis键

*@paramhKey Hash键

*@returnHash中的对象*/

public Object hGet(final String key, finalString hKey) {returnredisTemplate.opsForHash().get(key, hKey);

}/*** 获取多个Hash中的数据

*

*@paramkey Redis键

*@paramhKeys Hash键集合

*@returnHash对象集合*/

public List hMultiGet(final String key, final CollectionhKeys) {returnredisTemplate.opsForHash().multiGet(key, hKeys);

}//存储Set相关操作

/*** 往Set中存入数据

*

*@paramkey Redis键

*@paramvalues 值

*@return存入的个数*/

public long sSet(final String key, finalObject... values) {

Long count=redisTemplate.opsForSet().add(key, values);return count == null ? 0: count;

}/*** 删除Set中的数据

*

*@paramkey Redis键

*@paramvalues 值

*@return移除的个数*/

public long sDel(final String key, finalObject... values) {

Long count=redisTemplate.opsForSet().remove(key, values);return count == null ? 0: count;

}//存储List相关操作

/*** 往List中存入数据

*

*@paramkey Redis键

*@paramvalue 数据

*@return存入的个数*/

public long lPush(final String key, finalObject value) {

Long count=redisTemplate.opsForList().rightPush(key, value);return count == null ? 0: count;

}/*** 往List中存入多个数据

*

*@paramkey Redis键

*@paramvalues 多个数据

*@return存入的个数*/

public long lPushAll(final String key, final Collectionvalues) {

Long count=redisTemplate.opsForList().rightPushAll(key, values);return count == null ? 0: count;

}/*** 往List中存入多个数据

*

*@paramkey Redis键

*@paramvalues 多个数据

*@return存入的个数*/

public long lPushAll(final String key, finalObject... values) {

Long count=redisTemplate.opsForList().rightPushAll(key, values);return count == null ? 0: count;

}/*** 从List中获取begin到end之间的元素

*

*@paramkey Redis键

*@paramstart 开始位置

*@paramend 结束位置(start=0,end=-1表示获取全部元素)

*@returnList对象*/

public List lGet(final String key, final int start, final intend) {returnredisTemplate.opsForList().range(key, start, end);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值