説明するためにRedisの例

簡単な紹介

  Redisのは、NoSQLの製品のキー値であり、我々はMemcachedのはやや似ているけど、彼が格納された値の型が比較的多く存在し、文字列(文字列)を含め、リスト(一覧)、セット(コレクション)、ZSET(ソートセット注文しますコレクション)とハッシュ。memcachedのと同じように、高い効率を確保するために、データはメモリにキャッシュされています。Redisの差もNoSQLの構造化データベースと呼ばれる多数の種類、データの各タイプとPHPとのロールインスタンスを使用するために以下の説明です。

接続

// 接続を作成するのRedis 
$ Redisのを = 新しい新しいRedisの();
 // インスタンス化、一般的にアドレス127.0.0.1、デフォルトのポート6379に接続されている
$のRedisの - >接続( '127.0.0.1'、 '6379' );
 / / 認証パスワード、パスワードが設定されていない場合のRedisは、この無視できるほど
の$ Redisのを - > AUTH( '123456');

データの種類

  文字列

Redisの$ - > SET( 'テスト'、 'こんにちはのRedis'); // ストアまたは文字列型を変更

  リスト一覧

操作リストLの代表方法

  メモリ

Redisの$ - > LPUSH( 'リスト'、 'Xiaohua'); // 左から追加

$のRedis - > RPUSH( 'リスト'、 'ボブ'); // 右から追加された

$のRedis - > LSET( 'リスト' 2は、)「SA長い一日赤」; // セットや位置を指定された値のリストを変更するには、成功を返し、失敗のエラーメッセージが返されます

  [削除]

Redisの$ - > LPOP(「リスト」); // 最初の左を削除

$のRedis - > RPOP(「リスト」); //は、最初の右削除

/ * 
 値に基づいて*削除要素を、2番目のパラメータはにあります削除の値(これは削除する要素の値である)
 *削除三番目のパラメータが開始することを示し、いくつかは削除
 ヘッドからテーブルの末尾に*パラメータ> 0を削除し始め、いくつかの端の最初のを削除
 *パラメータ<0フッタからヘッダへの削除を開始、いくつかを削除します。
 *パラメータ値= 0暁明すべての要素を削除する
* / 
$のRedis - > lRem( 'リスト'、 'ボブ'、1);

  得ます

/ * 
 *最初のパラメータは、名前のリストであり、
 第二のパラメータ・インデックス開始位置である
 第三のパラメータ・インデックス(ビットが終了要素を含む)の端部の位置で
 相互負の*代表-1最初の逆数を示し
 空の場合*スタートに戻るよりも大きい場合、直接バック最後の要素の端の実際の長さよりも大きい
 * * / 
// 戻りアレイ。キーのリストの要素の指定された範囲に保存されている
$のRedis - > LRANGE(「リスト」、0、-1 ); 

// 指定されたセクションの値リストを取得し、前掲
$のRedis - > lGetRange(「リスト」、0,2 ); 

// 切片と残りの値を削除し、指定されたセクションのリストに値を保持します。成功したリターン1、そうでないリターンエラーメッセージが表示されます。負の数の逆数
$のRedis - > LTRIM( 'リスト'、0,2 ); 

// 長さのリストを取得
$ Redisのを - >( 'リスト'のLSIZE数); 

// 指定された位置の値のリストを取得
$ Redisのを - > LGET( '一覧」、1。);

- > LINDEX( 'リスト'、1);

     ハッシュ辞書

マッピングテーブルの列フィールドタイプおよび値のハッシュは、特にオブジェクトを格納するのに適し。各ハッシュキー32の電源を格納することができる-1 2(4000万)に対応する鍵のハッシュテーブルRedisのストレージ・キー=>値に、ハッシュ値hにコンテンツ対応のテーブルは、操作方法を表します

  メモリ

/ * 
 値は、*ハッシュテーブルに対応するキーを1つの(整数)だけインクリメントされる   
 *最初のパラメータ辞書名
 2番目のパラメータは名前キーである*、
 * 3番目のパラメータは振幅の増分です。キーがテーブルに存在しない場合は、自動的にキーに加え、から増加の値を設定されています
 *
 









* / 
$をRedisの - > hIncrBy(,. 1、 'hashtest'」1' ); 

// インクリメント値指定されたハッシュテーブルキーに
$のRedis - > hIncrByFloat( 'hashtest'、 '2'、1.5);

  得ます

// hashtestで指定された値を取得します
$のRedis - ( 'hashtest'、 ''> hGet ); 

// ハッシュテーブル内のすべてのキー(鍵)は、配列を返します
$をRedisの - > hKeys(「hashtest 「); 

// 配列を返す、ランダムな順序でテーブル内のすべてのハッシュ値を取得
$のRedisを - > hVals(」hashtest " ); 

//は、配列を返す、ランダムな順序で、ハッシュテーブル内のキーと値のすべてを取得
$のRedis - > hGetAll(「hashtest」); 

// ハッシュテーブルのキーの数取得
$ Redisの - >さhLen(「hashtestを」); 

// 、2番目のパラメータが配列である配列を返す、キーに対応する複数のバルク値を取得します
Redisの$ - > hMGet( 'hashtest'、[1,2,3 ]); 

// ハッシュテーブルのキーが存在するか否かを判定し、リターンが存在し、空の不在返す
$ Redisのを - > hExists( 'hashtest'、 '2020' );

  [削除]

// ハッシュテーブルは、キー、成功を返す真である、またはキーがテーブルに戻り存在しない場合は、true 
$のRedis - > HDEL(「hashtest」、」1' );

  セットコレクション

セットのRedisの文字列型は、順不同のコレクションです。これは、重複データの収集が表示されないことを意味し、コレクションの唯一のメンバーです。32番目の最大のメンバーのセット-12(4,294,967,295、各セット40万人を格納することができる)。オペレーションセットの代表方法

  メモリ

/ * 
 *成功したリターンの数を追加し、設定値を設定するために添加し、それ以外の戻り値は0 
 最初のパラメータは、コレクションセットの名前である* 
 *二番目のパラメータは、新しい値に設定されている、すなわち、挿入されている:の新しいセットを挿入します値
 * / 

// 戻ります1。
$ Redisの - >サッド( 'settest1'、 'A' );
 // 戻ります1つの。
$ Redisの - >サッド( 'settest1'、 'BB'、 'C' );
 // 0を返します
$ Redisの - >サッド( 'settest1'、 'A' );
 $のRedis - >サッド( 'settest2'、 'C' );
 // 4.0 Redisの延長上に複数の値を追加しますが、サポートされて
Redisの$を - 「settest(> sAddArray '[' C '' D '' EE「])。

  得ます

// すべてのセットにすべての要素を取得します
$のRedis - > sMembers( 'settest1'を); 

//は、要素が代わりに空返すので、返されたセット1のメンバーであるかどうかを決定する
$ Redisのを - > sIsMember( 'settest1'、 'B-B' ); 

// コレクション内の要素の数を確認してください
$ Redisのを - > SCARD( 'settest1' ); 

//は、二組の交点を返す
$ Redisのを - >シンター( 'settest1'、 'settest2' ); 

// 交差点settest1とsettest2コレクションsettest3に
$のRedis > sInterStore( 'settest3'、 'settest1'、 'settest2' - ;)

//は、二組の和集合を返す
$ Redisのを - > SUNION( 'settest1'、 'settest2' );

// 組合settest1とsettest2セットsettest4に置か
$のRedis - > sUnionStore( 'settest4'、 'settest1'、 'settest2'); 

// 戻りの二組の差集合
$ Redisの - > sdiffの( 'settest1'、 'settest2' ); 

// セット差settest2のsettest1とコレクションsettset5に
$のRedis - > sDiffStore( 'settest5'、 'settest1'、 'settest2') ;

  [削除]

// 値セットを削除するには
$ Redisのを - > SREM( 'settest1'、 'A' );
 // 削除の複数の値
$のRedis - > SREM( 'settest1'、 'AA'、 'B-B' );
 / / コレクションを返す要素のランダムな要素の除去
$のRedis - > SPOP(「settest1」);

  ソートセットはセットを注文しました

 Redisのセットを注文し、同じコレクションも、文字列型要素の集合であり、重複するメンバーを許可していません。違いは、各要素がダブルスコアに関連付けされるということです。4,294,967,295( - それは1の32乗にメンバーの最大数を設定して繰り返すことができるユニークであるコレクションのメンバーのスコアによって設定された順序大ソートする小のメンバーへのRedisが、得点(スコア) 、各セット)は4000万人以上のメンバーを格納することができます。zは順序付きコレクションの操作方法です。

  メモリ

/ * 
 * ZTESTは、スコア値が整数または倍精度浮動小数点値であってもよいし、順序集合の値に追加さ
 実行されたとき* Zadd、そうでない場合は、新しい順序付きセットを作成し、注文しなく他がある場合コレクション型、エラーが返されたとき
 * / 
$のRedis - > Zadd( '2019'、1 ,. 'ZTEST' );
 $のRedis - > Zadd( '2019'、2 'ZTEST' ); 

/ * 
 *要素が存在する場合場合、この要素のスコアを更新し、正しい位置に要素ことを確実にするために要素を再挿入。
 *新しいしかし、添加していない$ redis-> zadd( 'ZTEST' 、 1のスコア、値1は、2得点、値2); 
 *複数の値の順序付きコレクションを挿入する
 * / 
$のRedis - > Zadd( 'ZTEST'図2に示すように、 '2020'、3、 '2021'、4、 '2022' ); 

// 指定された値は、2033年2つの増加
$ Redisの - > Zadd( 'SET'、2、 '2022')。

  得ます

/ * 
 *順序集合の指定範囲を取得し、それが小から大部分に、配列を返す
 最初のパラメータ*:名前順序集合
 * 2番目のパラメータ:開始位置
 *第三のパラメータ:(含む終了位置最後から二番目のいくつかの負の代わりに位置)、
 *第四パラメータ:オプション、ブール値、持つかのスコアなしで、デフォルトはfalse 
 * / 
// スコアで並べ替えではなく、混合数
$のRedis - > Zレンジザ・(「ZTESTは」 、0,1 ); 

// 得点、得点をソートして運ぶことで
$ Redisのを - > Zの範囲は(0,1、 'ZTEST' 真の); 

// 順序集合の指定した範囲を取得します。配列を返します。降順スコア
$ Redisの > zRevRange( 'ZTEST'、1,2 - ); 

// 指定された要素のスコアを取得
$ Redisのを - > zScore( 'ZTEST'、 '2019' ); 

// 要素の数が格納されます
Redisの$ - > zCard( 'ZTEST' );


- > ZCOUNT( 'ZTEST'、2,5 ); 

// 2-3要素ではなく、分数の間の戻り率が、Zレンジザで表示
$ Redisの - > zRangeByScore( 'ZTEST'、2,3 ); 

// バック要素間の画分2-3、混合番号表示方法は、同じz範囲である
$のRedis - > zRangeByScore([ 'withscore' => 'ZTEST'、2,3、真へ ])。

  [削除]

// 指定されたメンバーを削除
$ Redisのを( '2019'、 'ZTEST'> zRem - ;)
 //は要素2-3、削除されたリターンの数の間の画分を除去
$のRedis - > zRemRangeByScore( 'ZTEST'、2 、3);

他の一般的に使用される方法と(拡張)

  関連キーを探します

/ *  
 条件は、対応するキー(キー)によって検出された*、サポート文字列の連結(戻り値は、データを識別しませんでしたまた、空の配列を返す場合でも、配列である)
 、任意の長さの代わりに、* *は任意の文字を?任意の文字の長さ
 * * / 
// キーを見つけるには、Aに等しい
$のRedis - >キー( 'A' ); 

// キーを見つけ、で始まる、背中の任意の値
$のRedis - >キー(「A * ' ;)

//は、中間リンクを見つけることは、Bキーを備え、
$ Redisの * B *' - >キー(' ;)

// 3の長さ、および$を= Cキーの最初の文字を見つける; 
$ Redisのを - >キー(「C ??」); 

// 使用後にキーがループに使用プラス(取得されてもよい)のキーが関連付けられた値に対応する取得する
$ Redisの - >キー($「*」);

  有効期限を設定します

/ * 
 *キーが有効で、秒数を返します残り時間を確認してください。
 * NOの場合有効期限、-1 
 *このキーの値がない、戻る-2ではない
 * / 
$ Redisの - > TTL( 'SET')。

  チェックの有効期限

/ * 
 *秒数が満了
 *(秒)特定のタイムスタンプに満了する場合
 * / 
$ Redisの - ( 'SET'、120)期限切れ>。

おすすめ

転載: www.cnblogs.com/DoonyLiu/p/12457289.html