Redis数据常用操作方法

本文详细介绍了Redis中通用的缓存管理方法,如设置缓存失效时间和获取失效时间,以及String、Map、Set和List四种数据类型的CRUD操作,包括增加、删除、查询和更新等关键功能。通过对各种数据类型的实例演示,全面展示了Redis的数据操作能力。
摘要由CSDN通过智能技术生成

一、通用方法

1、指定缓存失效时间

expire(K key, long timeout, TimeUnit unit)

2、获取缓存失效时间(返回值为失效时间,若为0则永久有效)

getExpire(K key, TimeUnit timeUnit)

二、String数据类型

1、根据key获取值

opsForValue().get(key)

2、存入key和value(未设置时间默认无期限)

opsForValue().set(key, value)

3、存入key和value,并且设置时间

opsForValue().set(K var1, V var2, long var3, TimeUnit var5)

4、递增value

var2:增加的大小,可为负数,若为负数则减小

opsForValue().increment(K var1, long var2);

5、根据key删除缓存

delete(K key) // 删除单个 delete(Collection<K> keys) // 批量删除(入参为list)

三、Map数据类型

1、存入数据

opsForHash().put(H var1, HK var2, HV var3) opsForHash().putAll(H var1, Map<? extends HK, ? extends HV> var2) // 多层key-value redisTemplate.opsForHash().put("map","map1",map1); redisTemplate.opsForHash().put("map","map2",map2);

2、根据key和hashKey获取value

opsForHash().get(H key, Object hashKey)

3、根据key获取对应的所有值(返回值为Map类型)

opsForHash().entries(key) Map map = (Map) redisTemplate.opsForHash().entries("map");

4、根据ke获取对应的所有值(返回值为List类型)

values(H var1) List list = (List) redisTemplate.opsForHash().values("map");

5、根据key和hashKey删除值

delete(H var1, Object... var2) //var可以为数组存储多个,但不能为空

6、根据key和hashKey判断是否存在

hasKey(H var1, Object var2)

7、递增值

var3:增加的大小(可为负数)

increment(H var1, HK var2, double var3)

四、Set数据类型

1、存入数据

add(K var1, V... var2) // var2可为多条 Long success = redisTemplate.opsForSet().add("testSet",set11,set22); //返回值为存入的条数

2、根据key查询Set集合大小

Long size(K var1) Long testSet = redisTemplate.opsForSet().size("testSet");

3、根据key获取结果

Set<V> members(K var1) Set<Object> set1 = redisTemplate.opsForSet().members("testSet");

4、根据key和value判断是否存在

Boolean isMember(K var1, Object var2)

5、根据key和value移除结果

Long remove(K var1, Object... var2) Long testSet1 = redisTemplate.opsForSet().remove("testSet", set11);

五、List数据类型

1、添加数据

//根据key向右追加元素 Long rightPush(K var1, V var2) Long rightPushAll(K var1, V... var2) Long rightPushIfPresent(K var1, V var2) //如果存在则追加 //根据key向左追加元素 Long leftPush(K var1, V var2); Long leftPushAll(K var1, V... var2) Long leftPushIfPresent(K var1, V var2) //如果存在则追加

2、修改数据

var2:要修改元素下标

var4:修改内容

void set(K var1, long var2, V var4)

3、查询数据

var2:起始位置

var4:结束位置

List<V> range(K var1, long var2, long var4)

4、移除数据

// var2为0则移除全部元素 正数:从左往右删除n个等于var4的值 负数:从右往左删除n个等于var4的值 Long remove(K var1, long var2, Object var4) //从左边弹出元素 V leftPop(K var1) //从右边弹出元素 V rightPop(K var1)

5、元素个数

Long size(K var1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值