redistemplate怎么修改数据_RedisTemplate方法详解

RedisTemplate方法详解

1:Redis的String数据结构

设置当前的key以及value值

redisTemplate.opsForValue().set(key, value)

redisTemplate.opsForValue().set("num","123");

设置当前的key以及value值并且设置过期时间

redisTemplate.opsForValue().set(key, value, timeout, unit)

redisTemplate.opsForValue().set("num","123",10, TimeUnit.SECONDS);

TimeUnit.DAYS //天

TimeUnit.HOURS //小时

TimeUnit.MINUTES //分钟

TimeUnit.SECONDS //秒

TimeUnit.MILLISECONDS //毫秒

将旧的key设置为value,并且返回旧的key(设置key的字符串value并返回其旧值)

redisTemplate.opsForValue().getAndSet(key, value);

在原有的值基础上新增字符串到末尾

redisTemplate.opsForValue().append(key, value)

获取字符串的长度

redisTemplate.opsForValue().size(key)

重新设置key对应的值,如果存在返回false,否则返回true

redisTemplate.opsForValue().setIfAbsent(key, value)

设置map集合到redis

Map valueMap = newHashMap();

valueMap.put("valueMap1","map1");

valueMap.put("valueMap2","map2");

valueMap.put("valueMap3","map3");

redisTemplate.opsForValue().multiSet(valueMap);

如果对应的map集合名称不存在,则添加否则不做修改

Map valueMap = newHashMap();

valueMap.put("valueMap1","map1");

valueMap.put("valueMap2","map2");

valueMap.put("valueMap3","map3");

redisTemplate.opsForValue().multiSetIfAbsent(valueMap);

通过increment(K key, long delta)方法以增量方式存储long值(正值则自增,负值则自减)

redisTemplate.opsForValue().increment(key, increment);

批量获取值

public List multiGet(Collection keys) {

return redisTemplate.opsForValue().multiGet(keys);

}

返回传入key所存储的值的类型

redisTemplate.type(key);

修改redis中key的名称

public voidrenameKey(String oldKey, String newKey) {

redisTemplate.rename(oldKey, newKey);

}

如果旧值key存在时,将旧值改为新值

publicBoolean renameOldKeyIfAbsent(String oldKey, String newKey) {returnredisTemplate.renameIfAbsent(oldKey, newKey);

}

判断是否有key所对应的值,有则返回true,没有则返回false

redisTemplate.hasKey(key)

删除单个key值

redisTemplate.delete(key)

批量删除key

redisTemplate.delete(keys) //其中keys:Collection keys

设置过期时间

public Boolean expire(String key, longtimeout, TimeUnit unit) {returnredisTemplate.expire(key, timeout, unit);

}

publicBoolean expireAt(String key, Date date) {returnredisTemplate.expireAt(key, date);

}

返回当前key所对应的剩余过期时间

redisTemplate.getExpire(key);

返回剩余过期时间并且指定时间单位

publicLong getExpire(String key, TimeUnit unit) {

returnredisTemplate.getExpire(key, unit);

}

查找匹配的key值,返回一个Set集合类型

public SetgetPatternKey(String pattern) {returnredisTemplate.keys(pattern);

}

将key持久化保存

publicBoolean persistKey(String key) {returnredisTemplate.persist(key);

}

将当前数据库的key移动到指定redis中数据库当中

public Boolean moveToDbIndex(String key, intdbIndex) {returnredisTemplate.move(key, dbIndex);

}

2、Hash类型

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)。

参考:

原文:https://www.cnblogs.com/dw3306/p/12840012.html


版权声明:本文为weixin_39801714原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。