ホームページ >データベース >Redis >Redisインデックスとは何ですか

Redisインデックスとは何ですか

(*-*)浩
(*-*)浩オリジナル
2019-11-21 13:18:106682ブラウズ

Redisインデックスとは何ですか

#redis はインデックス作成を直接サポートしていないため、自分でメンテナンスする必要があります。

非範囲の一意インデックスの場合、単にインデックスを KV ペアとして保存し、v でメインキーを保存できます。範囲検索または非一意インデックスの場合、redis は次のことを行う必要があります。 zset を使用して実現します。 (推奨学習: Redis ビデオ チュートリアル )

従来のユーザー システムの例を示します

uid 用户id
name 用户名
credit 用户积分
type 类型

を配置できますuid を使用してハッシュセット内の

hmset usr:1 uid 1 name aaa credit 10 type 0
hmset usr:2 uid 2 name bbb credit 20 type 1

を直接取得するのは非常に高速ですが、type=1 のユーザーにクエリを実行する場合は、すべてのユーザーをスキャンすることしかできません。

リレーショナル データベースでは、形式

select * from usr where type=1

のインデックスを作成するだけで、このような SQL を効率的に実行できます。 Redis では、別の zset

zadd usr.index.type 0 0:1
zadd usr.index.type 0 1:2

を維持する必要があります。すべての重みが 0 に設定されているため、値によって直接取得でき、その後

zrangebylex usr.index.type [1: (1;
を通じて取得できることに注意してください。

以上がRedisインデックスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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