redis操作データ-strings

3888 ワード

一.stringデータ型操作


  1.挿入データkeyはname、valueはtonva
127.0.0.1:6379> set name tonva                                         
OK

  2.クエリーkeyがnameのデータ
127.0.0.1:6379> get name                                                    
"tonva"

  3.keyがnameのデータを削除
127.0.0.1:6379> del name                                                   
(integer) 1

  4.keyがnameの存在を検証し、0は存在しないことを示す
127.0.0.1:6379> exists name                                                
(integer) 0

  5.setnxはset not existで、keyがnameの値が存在しない場合は設定します
127.0.0.1:6379> setnx name huage                                   
(integer) 0

  6.keyがnameのvalueをtonvaに設定し、有効期限は10 sです.
127.0.0.1:6379> setex name 10 tonva
OK

10 sを過ぎるとkeyがnameのvalueを取得できないことがわかります.期限が切れているからです.
127.0.0.1:6379> get name
(nil)

  7.setrangeを使用して値を置き換えます.次に、[email protected]@の後ろから、つまり6番目のスタート(0から)からgmailに置き換えます.com
127.0.0.1:6379> set name [email protected]
OK
127.0.0.1:6379> setrange name 6 gmail.com
(integer) 15
127.0.0.1:6379> get name
"[email protected]"

  8.msetを使用して複数のkeyの値を設定し、OKを正常に返し、失敗した場合は0を返します.値が設定されていないことを示します.
127.0.0.1:6379> mset username tonva password 451989
OK
127.0.0.1:6379> get password
"451989"
127.0.0.1:6379> get username
"tonva"

  9.msetnxを使用して複数のkeyの値を設定し、OKを正常に返し、失敗した戻り0は設定されていないことを示し、keyが設定されている場合は設定されません.
127.0.0.1:6379> msetnx username tonva password 451989
(integer) 0

キーがsexである場合、以下のように設定できないことがわかります.そのため、1つが存在する限り、コマンド全体が挿入に失敗することがわかります.
127.0.0.1:6379> msetnx username tonva sex  
(integer) 0
127.0.0.1:6379> msetnx sex  
(integer) 1

 10.getset新しい値を設定し、古い値を返します
127.0.0.1:6379> get name
"[email protected]"
127.0.0.1:6379> getset name [email protected]
"[email protected]"
127.0.0.1:6379> get name
"[email protected]"

 11.getrange,指定keyのvalueのサブ文字列を取得する
127.0.0.1:6379> getrange name 0 8
"tonva@qq."

負の場合、右から取得され、右からインデックスが-1から開始されることがわかります.
127.0.0.1:6379> getrange name -7 -1
"@qq.com"

操作範囲が最大の場合は最大値をとります
127.0.0.1:6379> getrange name -100 -1
"[email protected]"
127.0.0.1:6379> getrange name 0 100
"[email protected]"
127.0.0.1:6379> getrange name 90 100
""

 12.mgetは、複数のkeyを一度に取得し、keyが存在しない場合はnilを返す
127.0.0.1:6379> mget name username password sex
1) "[email protected]"
2) "tonva"
3) "451989"
4) (nil)

 13.incrはkeyの値を自己増加操作します.keyに対応する値は整数であることに注意してください.そうしないと、エラーが発生し、incrが存在しない値であればkeyはデフォルト1です.
127.0.0.1:6379> set age 23
OK
127.0.0.1:6379> incr age
(integer) 24
127.0.0.1:6379> del age
(integer) 1
127.0.0.1:6379> incr age
(integer) 1

 14.incrbyはincrと似ていて、指定値を加えると、keyが存在しない場合にkeyが設定され、元のvalueは0だと考えられます
127.0.0.1:6379> get age
"1"
127.0.0.1:6379> incrby age 5
(integer) 6

 15.decrはkeyの値を減算し、decrはkeyが存在しない場合、keyを-1に設定します.
127.0.0.1:6379> decr age 
(integer) 5
127.0.0.1:6379> decr age
(integer) -1

 16.decrbyはincrbyと同じように数値を減らすことを指定するので、incrbyを使用して負の数を増やすことで完全に効果的です.
127.0.0.1:6379> decrby age 3
(integer) -4

 17.append指定したvalueの後ろに文字列を追加
127.0.0.1:6379> get name
"[email protected]"
127.0.0.1:6379> append name ,hello
(integer) 18
127.0.0.1:6379> get name
"[email protected],hello"

 18.strlen、指定keyのvalue値の長さをとります.
127.0.0.1:6379> strlen name
(integer) 18