ホームページ >データベース >Redis >Redis はホットスポット データをキャッシュできますか?

Redis はホットスポット データをキャッシュできますか?

(*-*)浩
(*-*)浩オリジナル
2019-11-23 10:32:142950ブラウズ

Redis はホットスポット データをキャッシュできますか?

ホット データ (頻繁にクエリされるが、変更や削除はあまり行われないデータ) の場合、最初の選択肢は Redis キャッシュを使用することです。Redis のパフォーマンスは非常に優れています。

redis はインメモリ データベースであり、それが占有するリソースは非常に貴重であるため、保存する redis データをできるだけ少なくする必要があります。 (推奨学習: Redis ビデオ チュートリアル )

は、キャッシュの有効期間を設定することで期限切れにすることができます。通常、実際の状況に応じて調整できます。一般的に使用されないデータ使用済み。

コードは次のように設定できます:

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。