ホームページ  >  記事  >  データベース  >  Redisでページングを行う方法

Redisでページングを行う方法

(*-*)浩
(*-*)浩オリジナル
2019-11-29 10:15:416937ブラウズ

Redisでページングを行う方法

実際の業務では、ホット データを Redis にキャッシュしますが、このときデータ量が比較的大きい場合は、ホット データをページングする必要があります。 (推奨される学習: Redis ビデオ チュートリアル )

最初: Redis からすべてのデータを取り出した後、メモリ ページング (非推奨) を実行し、ホット データを実行できます。若いうちにこれを行うと、パフォーマンスの差はそれほど大きくありませんが、データ量が多い場合、ページング中に大量のメモリが占​​有されるか、メモリがバーストします。 2つ目: redisをベースとしたデータ構造 キャッシュページングを行うには2種類あります

①: redisのリストデータ構造をベースに、リストデータ構造を直接介してrangeメソッドを使用することができますデータ量が多い場合、パフォーマンスも優れていますが、インターフェイスへの同時アクセスが多い場合、このリストは無限に拡張され、データの重複が大量に発生し、影響を受ける可能性があります。通常のビジネス (あまり推奨されません);

②: Redis の ZSet データ構造に基づいて、順序付けされたコレクションである Zset を介してページングを実行することもできます。range メソッドも使用しますが、ここでより面倒なことはそれは、データを初期化するときに、Zset は TypedTuple 型のデータを格納する必要があるということです。この型は値であり、スコアのキーと値のペアについては、Baidu を確認してください。詳細は、このスコアの生成が面倒です。ここでテストしたときは、は、このリスト内の現在のデータの位置を使用しました。その後、Zset はスコア値に従って並べ替えられます。デフォルトは小さいものから大きいものまでです。これを使用する利点は、高い同時実行条件下でも Zset に重複データが存在しないことです。 , これは通常のビジネスに影響します; そしてページングの効率はリスト構造と似ています;

③: ハッシュと Zset を使用して一緒に実装します ; これについて友人に尋ねたところ、Zset は順序付けされた ID フィールドを格納することを知りました。ページングを通じて ID を取得し、その ID を使用してハッシュから ID を取得します。効率はほぼ同じであるはずだと思いますが、中間層が増えています。ハッシュ構造からは、別のハッシュを維持する必要があります。 (なぜこれが行われるのかはわかりません);

テスト リストと ZSet の結果の写真を投稿してください

Redisでページングを行う方法Redis 関連の技術記事の詳細については、Redis 入門チュートリアル

列にアクセスして学習してください。

以上がRedisでページングを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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