温故才能知新(复习一下)
上篇文章我们学习了三个方法,还记得是哪几个吗?分别是getExpire(K key)、getExpire(K key, TimeUnit timeUnit)、move三个方法,是否自己进行了一些尝试呢?
今天呢我们要来学习的是哪些呢?来一起学习一下吧。
开始学习,RedisTemplate系列方法之战
delete(K key)
功能描述:删除Redis中的key-value键值对相应的值,是RedisTemplate中提供的一个直接删除Redis相应值的方法。
具体代码使用:
/** * 删除缓存 * * @param key 可以传一个值 或多个 */ public void del(String... key) { if (key != null && key.length > 0) { if (key.length == 1) { redisTemplate.delete(key[0]); } else { redisTemplate.delete(CollectionUtils.arrayToList(key)); } } }
使用场景:当需要删除的时候,可以使用此方法,比如我们要清理Redis中一些数据时,就需要delete方法了。
源码截图:
expire(K key, long timeout, TimeUnit unit)
功能描述:设置Redis相应key值的失效时间,timeout参数来指定时间数值,unit参数来指定timeout数值的单位。
具体代码使用:
/** * 指定缓存失效时间 * * @param key 键 * @param time 时间(秒) * @return */ public boolean expire(String key, long time) { try { if (time > 0) { redisTemplate.expire(key, time, TimeUnit.SECONDS); } return true; } catch (Exception e) { e.printStackTrace(); return false; } }
使用场景:设置一个属性值时,必然是要指定缓存失效时间的,不然很容易出现内存占用大的问题。
源码截图:
expireAt(K key, Date date)
功能描述:设置Redis相应key值的失效时间,date参数表示要传入的时间,并且指定在这个时间点上key将失效。
具体代码使用:
/** * 指定缓存失效时间 * * @param key 键 * @param date 具体时间 * @return */ public Boolean expireAt(String key, Date date) { return redisTemplate.expireAt(key, date); }
使用场景:expireAt方法的使用场景大家可以自行思考一下,其实也是很常见的。
源码截图:
小结
今天我们学习了RedisTemplate中的delete、expireAt、expire三个方法,你是否有所收获呢?