Python学習講座

PythonエンジニアによるPython3学習支援サイト

Redis

Redisの型 ソート済みセット型

2017/08/19


Redisにはセット型にスコアと呼ばれる数値を付加することができるソート済みセット型という型がサポートされています。オンラインゲームの得点などに利用することができます。
全てのコマンドについては説明できませんのが、基本的にはRedisコマンドを小文字にしたものがメソッドとして提供されています。ソート済み型のRedisコマンドの詳細は以下ドキュメントを参考にしてください。
http://redis.shibu.jp/commandreference/sortedsets.html

ソート済みセット型でランクを算出する

データの追加はzaddメソッドを使用します。引数にキー、スコア、値を指定します。

サンプルを見てみましょう。ユーザーのスコアを登録するサンプルです。最後にユーザーのランクをzrankで取得します。

# ユーザーとスコアを登録
r.zadd('users', 100, 'Yamada')
r.zadd('users', 105, 'Tanaka')
r.zadd('users', 95, 'Suzuki')
r.zadd('users', 80, 'Sato')

# 特定ユーザーのスコアを取得
r.zscore('users', 'Yamada') # 100

# 特定ユーザーのランクを取得
r.zrank('users', 'Yamada') # 2

スコアに基づいたユーザーランクを簡単に算出することができます。

-Redis