핫 데이터(자주 쿼리되지만 자주 수정되거나 삭제되지 않는 데이터)의 경우 첫 번째 선택은 Redis Cache를 사용하는 것입니다.
redis는 인메모리 데이터베이스이고 차지하는 리소스가 매우 귀중하기 때문에 Redis 데이터를 최대한 적게 저장하는 것이 필요합니다. (추천 학습: Redis 동영상 튜토리얼 )
캐시 유효 기간 만료를 설정할 수 있으며, 이는 일반적으로 1일이며 실제 상황에 따라 조정될 수 있습니다. 은닉처.
코드는 다음과 같이 설정할 수 있습니다.
Redis 데이터를 저장할 때 만료를 설정하고, 데이터를 검색할 때 만료를 재설정합니다.
만료 시간 내에 데이터를 가져오지 않고 재설정하지 않으면 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가 핫스팟 데이터를 캐시할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!