Redisラーニングノート-データ型とAPI(2)String

2914 ワード

Redisラーニングノート-データ型とAPI(2)String
String(文字列)
1.シーンの使用
  • キャッシュ(key-value、ストレージjson)
  • 分散ロック
  • カウンタ
  • Bits

  • 2.共通コマンド
    コマンド#コマンド#
    意味
    時間の複雑さ
    set、get、del
    key-valueの設定、取得、削除
    O(1)
    setnx、set xx
    keyが存在するか否かに応じてkey-valueを設定する
    O(1)
    incr、decr、incrby、decrby、incrbyfloat
    カウント
    O(1)
    mget、mset
    一括操作key-value
    O(N),Nは所与のkeyの数である
    getset
    キーに新しい値を設定し、古い値を返します.
    O(1)
    append
    古いvalueにvalueを追加した後
    O(1)
    strlen
    文字列の長さを返します
    O(1)
    setrange、getrange
    文字列指定の下付き文字列の設定、取得
    O(1)
    get、set、del
  • get key(key対応valueを取得)
  • set key value(key-valueの設定)
  • del key(key-valueを削除)
  • incr、decr、incrby、decrby
  • incr key(key自己増加1、keyが存在しない場合、自己増加後get(key)=1)
  • decr key(key自減1、keyが存在しない場合、自増後get(key)=-1)
  • incrby key n(key自己増加n、keyが存在しない場合、自己増加後get(key)=n)
  • decrby key n(key自減n、keyが存在しない場合、自増後get(key)=-n)
  • set、setnx、set xx
  • set key value(keyが存在するかどうかにかかわらず設定)
  • setnx key value(keyが存在しない場合にのみ設定)
  • set key value xx(keyが存在する場合のみ設定)
  • 127.0.0.1:6379> exists php
    (integer) 0
    127.0.0.1:6379> set php good
    OK
    127.0.0.1:6379> setnx php bad
    (integer) 0
    127.0.0.1:6379> set php best xx
    OK
    127.0.0.1:6379> get php
    "best"
    127.0.0.1:6379> exists java
    (integer) 0
    127.0.0.1:6379> setnx java best
    (integer) 1
    127.0.0.1:6379> exists lua
    (integer) 0
    127.0.0.1:6379> set lua hehe xx
    (nil)

    mget、mget
  • mget key1 key2 key3 ... (一括取得key,原子操作)
  • mset key1 value1 key2 value2 key3 value3 ... (一括設定key-value)
  • getset、append、strlen
  • getset key newvalue(keyに新しい値を設定し、古い値を返す)
  • append key value(古いvalueにvalueを追加した後)
  • strlen key(文字列の長さを返す(中国語に注意))
  • 127.0.0.1:6379> get java
    "best"
    127.0.0.1:6379> getset java hello
    "best"
    127.0.0.1:6379> get java
    "hello"
    127.0.0.1:6379> append java world
    (integer) 10
    127.0.0.1:6379> get java
    "helloworld"
    127.0.0.1:6379> strlen java
    (integer) 10

    incrbyfloat、getrange、setrange
  • incrbyfloat key 3.5(keyに対応する値は3.5増加)
  • getrange key start end(文字列指定下付きのすべての値を取得)
  • setrange key index value(指定下付き文字に対応する値を設定)
  • 127.0.0.1:6379> incr counter
    (integer) 1
    127.0.0.1:6379> incrbyfloat counter 1.1
    "2.1"
    127.0.0.1:6379> get counter
    "2.1"
    127.0.0.1:6379> set hello javabest
    OK
    127.0.0.1:6379> getrange hello 0 2
    "jav"
    127.0.0.1:6379> setrange hello 4 p
    (integer) 8
    127.0.0.1:6379> get hello
    "javapest"

    その他のString関連コマンド:http://www.redis.cn/commands....
    3.実戦
    分散IDジェネレータ
    関連内容:
    Redis学習ノート-データ型とAPI(1)KeyRedis学習ノート-データ型とAPI(2)StringRedis学習ノート-データ型とAPI(3)ListRedis学習ノート-データ型とAPI(4)SetRedis学習ノート-データ型とAPI(5)Sorted SetRedis学習ペン-データ型とAPI(6)Hash