Redisの特殊なデータ型の3種類

Redisの特殊なデータ型の3種類

ビットマップ

Bitmap介しているbit要素またはステータスビットに対応する値を表します

前記キーが対応する要素そのものではなく、また事実によって達成するために、文字列の操作の基礎となります

Redis2.2新しいバージョンの後setbitgetbitbitcountおよび他のいくつかのビットマップ関連のコマンド

新しいコマンドが、それ自体は、文字列上で動作しています

SETBITキーオフセット値

どのoffset番号にする必要があり、値が唯一可能01

このコマンドの戻り値が変更前の値であり、

たとえば、コール

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。

ジオ

RedisGEOプロパティRedis 3.2打ち上げバージョン

この機能は、情報が格納されているユーザの位置、及び動作情報によって与えることができます

GEOデータ構造6つのコマンドがあります。

  • geoadd

  • geopos

  • geodist

  • georadius

  • georadiusbymember

  • geohash

GEOADD

GEOADDキー経度緯度メンバー[経度緯度部材...]

空間要素(緯度、経度、名)指定された内部指定されたキーに追加

これらのデータは次のようになりますzsetキーに格納された構造

このような設定など

keyであるSicily(アッシジ、イタリアの島々 )

member1Palermo(シチリア州都パレルモ、イタリア)

member2Catania(カターニャのイタリアシチリア州の州都)

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

リターンPalermoCataniaの距離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纬度37200km

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

 

おすすめ

転載: www.cnblogs.com/lezon1995/p/11229117.html