redis 如何设置过期时间

之前笔者的网站就用上了redis,但是并未注意给数据添加过期时间的,时间一长通过vscode的redis插件看到缓存的数据有两万多条,很多时候都是爬虫访问导致的,因为目前的缓存策略是如果访问某篇文章的时候优先从redis中取,如果redis中不存在,再从数据库中查询,如果存在就直接从redis中拿,从效果来看,提升速度明显,基本在2s内页面就能打开,当然也许是笔者的要求太低了。

如果把所有的数据都存入redis其实是一种浪费,因为大部分数据可能都不会被再次访问,那么定时清除多余的数据是有必要的,那么本身redis是支持设置过期时间的,操作如下:

String id = "dsiab"

redisTemplate.opsForValue().set(id,“www.dsiab.com”);
redisTemplate.expire(id,3, TimeUnit.DAYS);


上面的操作意味着key为disab的数据会被缓存3天,3天后会被清除,这样一来数据就能自动被清除,能极大地减少数据库的压力。之前由于不清楚这个功能,还给网站开发了一个清除所有redis数据的功能,不过好像也不算多余。

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):