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