SpringbootにおけるRedisTemplateの使い方とそのredis応用シーン

1854 ワード

変換元:
https://www.cnblogs.com/yanan7890/p/6617305.html
https://blog.csdn.net/tim_phper/article/details/51891097
Redis    :   (String)、  /  /  (Hash)、  (List)、  (Set)、    (sorted set)  
Controller:@Resource RedisTemplate redisTemplate;
  :
redisTemplate.opsForValue();//     
redisTemplate.opsForHash();//  hash
redisTemplate.opsForList();//  list
redisTemplate.opsForSet();//  set
redisTemplate.opsForZSet();//    set

String

  • get、set、incr、decr mgetなどの操作に加えて、Redisは以下の操作を提供した:
  • 文字列長
  • を取得する.
  • 文字列appendコンテンツ
  • 文字列のコンテンツ
  • の設定と取得
  • 文字列のいずれかのビット(bit)
  • を設定および取得する
  • 一括設定一連の文字列の内容
  • 通常カウント:微博数、ファン数など.
    例えば、いつIPアドレスを封鎖するか(何回以上アクセスするか)を知りたい.INCRBYコマンドはこれらを容易にし,原子増分によりカウントを保持する.

    List


    Listはチェーンテーブルであり,データ構造の知識が少しある人はその構造を理解できるはずである.Lists構造を使用すると、最新のメッセージランキングなどの機能を簡単に実現できます.Listのもう1つのアプリケーションはメッセージキューであり,ListのPUSH操作を利用してタスクをListに存在させ,ワークスレッドはPOP操作でタスクを取り出して実行することができる.Redisはまた、リストのあるセグメントを操作するapiを提供し、リストのあるセグメントの要素を直接クエリーして削除することができます.Redisのlistは、各サブエレメントがStringタイプの双方向チェーンテーブルであり、pushとpop操作によりリストのヘッダまたは末尾からエレメントを追加または削除することができ、リストはスタックとしてもキューとしてもよい.

    SET


    setは集合であり、集合の概念は重複しない値の組み合わせである.Redisが提供するsetデータ構造を利用して,いくつかの集合的なデータを格納することができる.setの要素には順序がありません.ケース:マイクロブログアプリケーションでは、1人のユーザーのすべての関心者を1つのセットに存在させ、すべてのファンを1つのセットに存在させることができます.Redisはまた、集合を求める交差、並列、差分などの操作を提供し、共通の関心、共通の好み、2度の友达などの機能を非常に便利に実現することができ、上のすべての集合操作に対して、異なるコマンドを使用して結果をクライアントに返すか、新しい集合に保存するかを選択することもできます.交差、並列、差分

    ZSET


    setと比較して、sorted setは重みパラメータscoreを追加し、集合中の要素がscoreによって秩序正しく配列できるようにした.例えば、クラス全員の成績を格納するsorted setであり、その集合valueは同級生の学号であり、scoreはその試験得点であり、データが集合に挿入されると、天然のソートが行われている.通常のメッセージのscoreが1で、重要なメッセージのscoreが2であるなど、sorted setを使用して重み付きキューを作成し、作業スレッドはscoreの逆順序で作業タスクを取得することを選択できます.重要なタスクを優先的に実行させる.ランキングアプリ、TOP N操作を取る