1. 高い同時実行性のキャッシュ/共有セッション:
UserInfo getUserInfo (長い ID) {}
Get:
userRedisKey = "user:info:" id;
value = redis.get(userRedisKey);
if (value != null) {
userInfo = deserialize(value);
return userInfo;
redis.setex(userRedisKey, 3600, Serialize(userInfo)); 文字列を使用したシリアル化データの保存は 3 次元ではありませんhmset に変換してハッシュ構造として保存できるため、より直感的にアクセスできるようになります。 # setnx は存在しない場合にのみ正常に設定でき、残りは待つだけです。シングルスレッド #3. カウンタ増加はシングルスレッドであるため、cas などよりも CPU 消費量が少なく、パフォーマンスが高くなりますlong incrVideoCounter (long id) {
key = "video:playCount:" id;
4. stack/queueを実装します
スタック: lpush lpop キュー: lpush rpop5. フロー制御/レート制限
PhoneNum = "12345678999"; key = "shortMsg:limit:"phoneNum; isExists = redis.set( key, 1, "EX 60", "NX"); if (isExists != null || redis.incr(key) //##} を渡します。それ以外の場合は { //
} は渡しません
6.
lpush brpop を使用してブロッキング キューを実装します。プロデューサーは lpush を介してリストの左端から要素を挿入し、複数のコンシューマーがブロックしてその末尾の要素を取得します。 brpop の右端からキューを作成します
7. 各ユーザーは自分の記事を持っています。今度は記事リストをページに表示したいと考えています。
hmset 記事:1 タイトル xx コンテキスト XXXX lpush ユーザー:1:記事 srticle:1 記事:3 記事 = lrange ユーザー:1:記事 0 9 {articles} hgetall {article}
8. フォローしていいね
いいね: zincrby ユーザー:ranking:2016_03_15 mike 1
キャンセル: zrem user:ranking:2016_03_15 mike 上位 10 ユーザーにいいね! : zrevrangebyrank user:ranking:2016_03_15 0 9 ユーザーを表示情報とスコア: hgetall user:info:tom / zscore user:ranking:2016_03_15 mike / zrank user:ranking:2016_03_15 mike
9. ビットマップはビッグデータ間の関係を計算しますセット
10.ランキング
マイクがビデオをアップロードし、3 件のいいねを受け取りました zadd user:ranking:2016_03_15 mike 3他の人がいいね! zincrby user:ranking:2016_03_15 mike 1
11. 一緒にフォローする
ユーザーにフォロー タグを追加するsacd user:1:tags tag1 tag2 タグにユーザーを追加する sacd tag1:uses user:1 共通の注意点 user:1:tags user:2:tags sinter/sunion/sdiff
12. 公開および購読
ビデオを購読:変更:
ビデオを公開: video1,video2 のビデオの "video1,video2" を変更しました (ビデオ)各データ型は、さまざまな基礎となるデータに対応します構造の実装 (オブジェクト エンコーディング)。データのサイズ、長さ、シナリオなどによって切り替えて効率を高めることができます
永続的 RDB (子プロセスの作成、バイナリ ファイル、高速リカバリ、リアルタイム性が十分ではありません) /AOF (追加のみ。テキスト ファイル、リアルタイム書き込み操作は最初に aop_buffer を実行し、次にディスク書き込み間隔を設定してディスクに書き込み、特定のサイズに達したらマージします) バッチ hmget およびその他の操作は hscan などに変換する必要がありますプログレッシブ トラバーサル メソッド、そうでない場合はブロックされやすいバッファリング: クライアント バッファリング (入力/出力)、コピー バックログ バッファ、Aof バッファコピー: フル/増分コピー オフセット/コピー バックログ バッファ (書き込みコマンドは同時にスレーブ サーバーに送信されます。また、先入れ先出しキューも維持されます。これは、メイン サービスが最後に伝播されたコマンドも保存することを意味します)/IDsentinal: 高可用性を実現するために、これは特別な Redis ノードです。クラスターを自分で構成し、ハートビートやその他のメカニズムを通じて Redis データ クラスターを監視できます。ノードに障害が発生して利用できなくなった場合でも、適切なタイミングで検出でき、自動的に移行
cluster: 分散クラスター、フォールト トレラント リーダーの選択など。物理ノードを 16383 スロットにマッピングしてダイナミクスを実現する
Redis 関連の技術記事の詳細については、Redis チュートリアル 列にアクセスして学習してください。
以上がRedis はどこで使用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。