ビットマップ
Bitmap
介しているbit
要素またはステータスビットに対応する値を表します
前記キーが対応する要素そのものではなく、また事実によって達成するために、文字列の操作の基礎となります
Redis
2.2
新しいバージョンの後setbit
、getbit
、bitcount
および他のいくつかのビットマップ関連のコマンド
新しいコマンドが、それ自体は、文字列上で動作しています
SETBITキーオフセット値
どのoffset
番号にする必要があり、値が唯一可能0
か1
このコマンドの戻り値が変更前の値であり、
たとえば、コール
setbit BYTE0 0 1 。 setbit BYTE0 2 1 。 setbit BYTE0 5 1 ; setbit BYTE1 1 1 。 setbit BYTE1 4 1。
メモリの値に対応するようになっています
バイト | ビット0 | BIT1 | ビット2 | ビット3 | BIT4 | ビット5 | BIT6 | ビット7 |
---|---|---|---|---|---|---|---|---|
BYTE0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
バイト1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
あなたは見ることができbit
、デフォルトの値がされた0
後、Bitmap
それを実際の開発に使用されますか?
オンラインストアのユーザー:例を与えるために、
ここでは1つのキーだけして、ユーザーIDとしてoffset
、それがオンラインに設定されている場合、1
オフラインをに設定されています0
// オンラインに設定 $ redis->オンラインsetBit 0 1 ; // 設定オフライン $ redis-> setBitオンライン0 0 ; // 状態を取得します $ redis-> GETBITオンライン0 ; //は、オンラインの数を取得 $ Redisのを- >オンラインBITCOUNT。
ジオ
Redis
GEO
プロパティRedis 3.2
打ち上げバージョン
この機能は、情報が格納されているユーザの位置、及び動作情報によって与えることができます
GEOデータ構造6つのコマンドがあります。
-
geoadd
-
geopos
-
geodist
-
georadius
-
georadiusbymember
-
geohash
GEOADD
GEOADDキー経度緯度メンバー[経度緯度部材...]
空間要素(緯度、経度、名)指定された内部指定されたキーに追加
これらのデータは次のようになりますzset
キーに格納された構造
このような設定など
key
であるSicily
(アッシジ、イタリアの島々 )
member1
Palermo
(シチリア州都パレルモ、イタリア)
member2
Catania
(カターニャのイタリアシチリア州の州都)
Redisの> GEOADDシチリア13.361389 38.115556 "パレルモ" 15.087269 37.502669 "カタニア"
(整数) 2
GEOPOS
GEOPOSキーメンバー[メンバー...]
リターンキー位置(経度及び緯度)内部の所定の位置からすべての要素
たとえば、コールGEOPOS Sicily Palermo
戻りPalermo
緯度と経度を
Redisの> GEOPOSシチリアパレルモ
1)1) "13.361389338970184"
2) "38.115556395496299"
GEODIST
GEODISTキーMEMBER1のmember2 [部]
2つの位置の間で一定の距離を返します。
2間の場所が存在しない場合は、返しますnull
パラメータは単位を指定しunit
、前記デフォルト:( M)以下の単位でなければなりません
-
m
メートル -
km
キロ -
mi
マイル -
ft
足
たとえば、コールGEODIST Sicily Palermo Catania
リターンPalermo
とCatania
の距離166274.15米
Redisの> GEODISTシチリア島パレルモカターニア
"166274.15156960039"
GEORADIUS
GEORADIUSキー経度緯度半径M |キロ|フィート| MI [WITHCOORD] [WITHDIST] [WITHHASH] [ASC | DESC] [COUNTカウント]
中心として所定の緯度と経度、リターンキーを含む要素の位置から、中心は全ての位置で所定の最大距離の要素を超えていません
上記一貫した距離単位と、後者のオプション:
-
WITHDIST
要素の戻り位置が、要素の中心位置との距離も一緒に返されます
ユーザの距離単位と所定の範囲一貫した単位
-
WITHCOORD
要素の緯度及び経度位置も一緒に返されます
-
WITHHASH
で
52
元の復帰位置後の素子のビット符号付き整数形式値を設定順序符号化されたジオハッシュこのオプションは主にデバッグや基礎となるアプリケーションのために使用され、実際の効果は、大きなではありません
たとえば、コールGEORADIUS Sicily 15 37 200 km WITHDIST
それはリターンがあることを意味しkey
ているSicily
中で
中心の半径と円形の範囲内の要素、および中央要素までの距離经度15
纬度37
200km
Redisの> GEORADIUSシチリア15 37 200 キロWITHDIST
1)1) "パレルモ"
2) "190.4424"
2)1) "カタニア"
2) "56.4413"
HyperLogLog
Redis
カーディナリティー統計
この構造は、次のようなメモリの様々な数、と非常に省統計することができ注册 IP 数
、每日访问 IP 数
、页面实时UV
、在线用户数
など
しかし、それはまた、その限界を持っているだけで、統計の数、および特定のどのような内容を知るための方法はありませんです
PFADD
Redisの> PFADDデータベース"のRedis" "MongoDBの" "MySQLの" (整数) 1つ のRedis > PFADDデータベース"のRedis" のRedisがすでに存在している#、数の推定値更新する必要はありません (整数) 0
PFCOUNT
Redisの> PFCOUNTデータベース
(整数) 3
PFMERGE
PFMERGE達成SOURCEKEY [SOURCEKEY ...]
複数のは、HyperLogLog
一つにマージHyperLogLog
合わせたHyperLogLog
すべての入力に近いベースHyperLogLog
の可见集合的并集
合わせた結果は、HyperLogLog
に格納されるdestkey
内部キー
キーが存在しない場合は、実行前コマンドは、キーのためのスペースを作成します。 HyperLogLog
Redisの> PFADDのNoSQL "Redisの" "のMongoDB" "のMemcached" (整数) 1つ のRedis > PFADD RDBMS "MySQLの" "MSSQL" "PostgreSQLの" (整数) 1つ のRedis > RDBMSのNoSQL PFMERGEデータベース OK Redisの > PFCOUNTデータベース (整数) 6