redis的資料型別
string型別以及操作
string是最簡單的資料型別,乙個key對應乙個value,string型別是二進位制安全的。redis的string可以包含任何資料,比如jpg或者序列化物件
set設定key對應的值為string型別的value
例如:我們新增乙個name為lijie的鍵值對
127.0.0.1:6379> setname lijie
ok127.0.0.1:6379> get
name
"lijie
"127.0.0.1:6379> set
name lambrother
ok127.0.0.1:6379> get
name
"lambrother
"
我們再次設定name為lambrother,後面發現將前面的lijie覆蓋了。
setnx
設定key對應的值為string型別的value,如果key已經存在,返回0,nx是not exist的意思
例如我們新增乙個name = lijie_new的鍵值對
127.0.0.1:6379>setnx name lijie_new(integer)
0127.0.0.1:6379> get
name
"lambrother
"127.0.0.1:6379> setnx age 20
(integer)
1127.0.0.1:6379> get
age "20
"
setex
設定key對應的值為string型別的value,並指定鍵值對的有效期
例如:我們新增乙個haircolor = red的鍵值對,並制定有效期為10秒
127.0.0.1:6379> setex haircolor 10red
ok127.0.0.1:6379> get
haircolor
"red
"10秒後
127.0.0.1:6379> get
haircolor
(nil) nil指的是空的意思。
127.0.0.1:6379>setnx haircolor red
(integer) 1//
驗證了前面的鍵值對失效了。
setrange
設定指定key的value值的子字串
例如:我們希望將lijie的126郵箱替換成為gmail郵箱
127.0.0.1:6379> setemail [email protected]
ok127.0.0.1:6379> get
"127.0.0.1:6379> setrange email 6 li-jie.me //
6代表的是原來字串的開始替換位置的下標
(integer) 20
//20 代表的是新字串的長度
127.0.0.1:6379> get
觀察發現替換後的字串如果長度沒有原來字串長,會將原來字串的剩餘依舊拼接
mset
一次設定多個key的值,成功返回ok表示所有的值都設定了,失敗返回0表示沒有任何值被設定
127.0.0.1:6379>mset key1 lijie1 key2 lijie2ok127.0.0.1:6379> get
key1
"lijie1
"127.0.0.1:6379> get
key2
"lijie2
"
msetnx
一次設定多個key的值,成功返回ok表示所有的值都設定了,失敗返回0表示沒有任何值被設定,但是不會覆蓋已經存在的key
127.0.0.1:6379>msetnx key3 lambrother key4 [email protected] key2 lijie(integer)
0127.0.0.1:6379> get
key3
(nil)
127.0.0.1:6379> get
key4
(nil)
127.0.0.1:6379>msetnx key3 lambrother key4 [email protected] key5 lijie
(integer)
1127.0.0.1:6379> get
key3
"lambrother
"127.0.0.1:6379> get
key4
"127.0.0.1:6379> get
key5
"lijie
"127.0.0.1:6379>
getset
設定key的值並返回舊的key值
127.0.0.1:6379> getkey5
"lijie
"127.0.0.1:6379>getset key5 haha
"lijie
"127.0.0.1:6379> get
key5
"haha
"127.0.0.1:6379>
getrange
獲取子字串
127.0.0.1:6379> get"127.0.0.1:6379> getrange email 05//
獲取email的value的0索引到5(包括5)索引的值
"lijie@
"127.0.0.1:6379>
mget
批量獲取
127.0.0.1:6379> mget key1 key2 key3 key4 key5 key 61) "
lijie1
"2) "
lijie2
"3) "
lambrother
"4) "
"5) "
haha"6
) (nil)
7) (nil)
127.0.0.1:6379>
incr
對key的值做加加操作,並返回新的值
127.0.0.1:6379> set key6 30ok127.0.0.1:6379> get
key6"30
"127.0.0.1:6379>incr key6
(integer)
31127.0.0.1:6379>incr key6
(integer)
32127.0.0.1:6379> get
key6"32
"127.0.0.1:6379>
incrby
同incr類似,區別在於必須指定增量
127.0.0.1:6379> getkey6"37
"127.0.0.1:6379> incrby key6 5
(integer)
42127.0.0.1:6379> incrby key6 -8
(integer)
34127.0.0.1:6379>
decr
對key的值做減減操作
127.0.0.1:6379>decr key6(integer)
33127.0.0.1:6379>decr key6
(integer)
32
decrby
與decr類似,指定減量
127.0.0.1:6379> decrby key6 8(integer)
24127.0.0.1:6379> decrby key6 -7
(integer)
31
127.0.0.1:6379> getname
"lambrother
"(integer)
14127.0.0.1:6379> get
name
"lambrother.net
"
strlen
取指定key的value的長度
127.0.0.1:6379>strlen name(integer)
14
redis語法 String型別
127.0.0.1 6379 set k1 v1 ok127.0.0.1 6379 get k1 v1 127.0.0.1 6379 del k1 integer 1 127.0.0.1 6379 get k1 nil 127.0.0.1 6379 set k2 v2 ok integer 9 12...
redis的資料型別 string
1.string型別 2.方法 1.set 設定key對應的值為string 型別的 value。例 set name cl 設定name 的值為cl 成功返回 ok 多次設定 值會覆蓋 2.setns 設定key對應的值為string 型別的 value,如果值已經存在,返回0 設定失敗。使用這個...
redis資料型別(String)
常用string操作命令 set keyvalue 設定值 getkey 獲取值 value 追加值 incr key 原子操作,自動加1 value必須為inter型別的字元。decr key 原子操作,自動減1 value必須為inter型別的字元。incrby key num 自動增加指定值 ...