redis可以缓存热点数据吗

互联网 19-11-23

对于热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存,redis的性能非常优秀。

因为redis是内存数据库,占用的资源非常珍惜,所以要尽少的存储redis数据。 (推荐学习:Redis视频教程)

可以通过设置缓存的有效期expire,一般是一天的时间,可以根据实际情况调整,这种方式来清楚缓存中不常用的数据。

代码中可以这样设置:

在存储redis数据的时候设置expire,取的时候重新设置expire。

如果在过期时间内没有取出该数据重新设置expire的话,那么该redis数据就会清除。

	public TbItem getTbItemByid(Long itemid) { 		 		//添加redis缓存 		Jedis jedis =  null; 		try { 			if(itemid != null){ 			    jedis = jedisPool.getResource(); 				String jedisRes = jedis.get(ITEM_INFO_KEY+":"+itemid+":BASE"); 				if(StringUtils.isNotBlank(jedisRes)){ 					 					//取redis数据的时候,重新设置expire 					jedis.expire(ITEM_INFO_KEY+":"+itemid+":BASE", ITEM_INFO_KEY_EXPIRE); 					return JsonUtils.jsonToPojo(jedisRes, TbItem.class); 					 				} 				 			} 			 		} catch (Exception e) { 			e.printStackTrace(); 		}finally{ 			//关闭jedis,其实是还给连接池 			jedis.close(); 		} 		 		TbItem tbItem = itemMapper.selectByPrimaryKey(itemid); 		 		try { 			if(tbItem!=null){ 			    jedis = jedisPool.getResource(); 				jedis.set(ITEM_INFO_KEY+":"+itemid+":BASE", JsonUtils.objectToJson(tbItem)); 				//存储redis数据的时候设置expire 				jedis.expire(ITEM_INFO_KEY+":"+itemid+":BASE", ITEM_INFO_KEY_EXPIRE); 			} 		} catch (Exception e) { 			e.printStackTrace(); 		}finally{ 			//关闭jedis,其实是还给连接池 			jedis.close(); 		} 		 		return tbItem; 	}

更多Redis相关技术文章,请访问Redis数据库使用入门教程栏目进行学习!

以上就是redis可以缓存热点数据吗的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: redis
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:redis只能存字符串吗

相关资讯