Bootstrap

redis基础学习(五)之常用操作方法总结

String类型

保存和读取String(最常用的)

System.out.println("缓存正在设置。。。。。。。。。"); 
redisTemplate.opsForValue().set("key1","value1"); 
redisTemplate.opsForValue().set("key2","value2"); 
redisTemplate.opsForValue().set("key3","value3"); 
redisTemplate.opsForValue().set("key4","value4"); 
System.out.println("缓存已经设置完毕。。。。。。。"); 
String result1=redisTemplate.opsForValue().get("key1").toString(); 
String result2=redisTemplate.opsForValue().get("key2").toString(); 
String result3=redisTemplate.opsForValue().get("key3").toString(); 
System.out.println("缓存结果为:result:"+result1+"  "+result2+"   "+result3);

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

redisTemplate.hasKey(key)

有则取出key值所对应的值

redisTemplate.opsForValue().get(key)

删除单个key值

redisTemplate.delete(key)

批量删除key

redisTemplate.delete(keys) //其中keys:Collection<K> keys

将当前传入的key值序列化为byte[]类型

redisTemplate.dump(key)

设置过期时间

public Boolean expire(String key, long timeout, TimeUnit unit) {
    return redisTemplate.expire(key, timeout, unit);
 }
 public Boolean expireAt(String key, Date date) {
    return redisTemplate.expireAt(key, date);
  }

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

public Set<String> getPatternKey(String pattern) {
    return redisTemplate.keys(pattern);
}

修改redis中key的名称

public void renameKey(String oldKey, String newKey) {
    redisTemplate.rename(oldKey, newKey);
}

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

public DataType getKeyType(String key) {
    return redisTemplate.type(key);
}

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

public Boolean renameOldKeyIfAbsent(String oldKey, String newKey) {
    return redisTemplate.renameIfAbsent(oldKey, newKey);
}

从redis中随机取出一个key

redisTemplate.randomKey()

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

public Long getExpire(String key) {
    return redisTemplate.getExpire(key);
}

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

public Long getExpire(String key, TimeUnit unit) {
    return redisTemplate.getExpire(key, unit);
}

将key持久化保存

public Boolean persistKey(String key) {
    return redisTemplate.persist(key);
}

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

public Boolean moveToDbIndex(String key, int dbIndex) {
    return redisTemplate.move(key, dbIndex);
}

设置当前的key以及value值

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

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

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

返回key中字符串的子字符

public String getCharacterRange(String key, long start, long end) {
    return redisTemplate.opsForValue().get(key, start, end);
}

将旧的key设置为value,并且返回旧的key

public String setKeyAsValue(String key, String value) {
    return redisTemplate.opsForValue().getAndSet(key, value);
}

批量获取值

public List<String> multiGet(Collection<String> keys) {
   return redisTemplate.opsForValue().multiGet(keys);
}
;