Redisであいまい検索をしたい
維持するドメイン IP 情報がたくさんあり、それらを保持するためにハッシュを使用したい
Domain-IP の構造は次のようになります。
ドメイン IP
ドメイン
IP
last-access (最後にこの IP を使用してドメインにアクセスしたとき)
アクセス数
...
今、私は2つのことをしたいです:
次のように、この Domain-IP 情報をドメインで検索します: select * from domain-ip where domain = "www.google.com"
次のように、ドメインと IP ごとにドメイン IP 情報を更新します。 update domain-ip set access-count = access-count + 1 where domain = "www.google.com" and ip = "192.168.1.1"
したがって、私のデザインのRedisの構造は次のとおりです。
HSET domainip.www.google.com.192.168.1.1 access-count 20
HSET domainip.www.google.com.192.168.1.2 access-count 20
たとえば、www.google.com に関する情報を検索します。
- www.google.com で始まるすべてのキーを取得: keys domainip.www.google.com*
- これらのキーを使用して、Google に関するすべての情報をループで取得します。
for (string key : keys) { execute("HGETALL " + key) // then convert the hash into a POJO }
更新操作は次のとおりです。
「HSET ドメイン ip。」+ domainStr + "." + ipStr + "アクセス数" + newAccessCount;
「HSET ドメイン ip。」+ domainStr + "." + ipStr + "最終アクセス" + newLastAccess;
私の質問は:
ループはパフォーマンスの問題を引き起こしますか?
ハッシュファイルを1つずつ更新する権利はありますか?
Redis、Thx :D で私が望む操作を完了するための良いアイデアを提供していただければ幸いです。