redis可以缓存热点数据吗

redis可以缓存热点数据吗

对于热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用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视频教程栏目进行学习!

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享