redis的資料型別 Strings

2021-06-28 19:38:19 字數 3493 閱讀 6031

1、插入資料

127.0.0.1:6379> set name xrc

ok2、得到資料

127.0.0.1:6379> get name

"xrc"

3、刪除資料:成功返回1,失敗返回0

127.0.0.1:6379> del name

(integer) 1

4、檢視是否存在:存在返回1,不存在返回0

127.0.0.1:6379> exists name

(integer) 0

一、strings型別

最簡單的型別,乙個key對應乙個value,string型別是二進位制安全的,redis的string可以包含任何資料,比如或序列化的物件,最大上限制為1gb

set

設定key對應的值為string型別的value

例如:我們新增乙個name=xrc的鍵值對

127.0.0.1:6379> set name xrc

oksetnx

設定key對應的值為string型別的value,如是key存在返回0,不存在才設定值,並返回1

例如:再次設定name的值為scc會返回0

127.0.0.1:6379> setnx name scc

(integer) 0

setex

設定key對應的值為string型別的value,並指定此鍵值對應的有效期

例如:我們新增乙個age=22的鍵值對,並指定有效期為10秒

127.0.0.1:6379> setex age 10 22

ok127.0.0.1:6379> get age

"22"

10秒後get會得到以下結果

127.0.0.1:6379> get age

(nil) 

setrange

設定指定key的值的子字串

例如127.0.0.1:6379> get email

"[email protected]"

127.0.0.1:6379> setrange email 10 sina.com

(integer) 18

127.0.0.1:6379> get email

"[email protected]"

其中10是指從下標10開始替換

mset

一次設定多個值,成功返回ok。表示都設定成功 ,失敗返回0

127.0.0.1:6379> mset name xrc age 22

ok

127.0.0.1:6379> get name

"xrc"

127.0.0.1:6379> get age

"22"

msetnx

一次設定多個值,成功返回ok,失敗返回0,但不會覆蓋原有的值

127.0.0.1:6379> msetnx name scc age 22

(integer) 0

get

獲取例如:獲取上面設定的name的值

127.0.0.1:6379> get name

"xrc"

getset

設定key的值 ,並返回舊的值,如果舊的值不存在返回nil

127.0.0.1:6379> getset name scc

"xrc"

127.0.0.1:6379> get name

"scc"

getrange

拿到乙個key的子字串

127.0.0.1:6379> get email

"[email protected]"

127.0.0.1:6379> getrange email 0 8

"648195165"

127.0.0.1:6379> getrange email -6 -1

"qq.com"

mget

一次獲得多個值 ,如key不存在則返回nil 

127.0.0.1:6379> mget name age aa

1) "scc"

2) "22"

3) (nil)

incr

對key的值做加加操作,並返回新的值。注意incr乙個不是int的value會返回錯誤,incr乙個不存在的key,則設定key為1

127.0.0.1:6379> get age

"22"

127.0.0.1:6379> incr age

(integer) 23

127.0.0.1:6379> get age

"23"

incrby

同incr類似,加指定值 ,key不存在時候會設定key,並認為原來的value是 0

127.0.0.1:6379> get age

"23"

127.0.0.1:6379> incrby age 5

(integer) 28

127.0.0.1:6379> get age

"28"

decr

對key的值做的是減減操作,decr乙個不存在key,則設定key為-1

127.0.0.1:6379> get age

"28"

127.0.0.1:6379> decr age

(integer) 27

127.0.0.1:6379> get age

"27"

decrby

同decr類似,減指定值 ,key不存在時候會設定key,並認為原來的value是 0

127.0.0.1:6379> get age

"27"

127.0.0.1:6379> decrby age 5

(integer) 22

127.0.0.1:6379> get age

"22"

decrby完全是為了可讀性,我們完全可以通過incrby乙個負值來實現同樣效果,反之一樣

給指定key的字串值追加value,返回新字串值的長度。

127.0.0.1:6379> get name

"scc"

(integer) 14

127.0.0.1:6379> get name

"scc is my wife"

strlen

取指定key的value值的長度

127.0.0.1:6379> get name

"scc is my wife"

127.0.0.1:6379> strlen name

(integer) 14

Redis的資料型別

redis支援五種資料型別是string 字串 hash 雜湊 list 列表 set 集合 和zset sortedset 有序集合 string是redis最基本的型別,乙個key對應乙個value string型別是二進位制安全的,意思是redis的string可以包含任何資料,比如jpg或者...

Redis的資料型別

前面說過,redis的一大特性是支援豐富的資料型別,這為更多的應用場景提供了可能。redis有五種資料型別,包括string,list,set,sorted set和hash,注意,redis的資料型別不支援巢狀。下面學習一下這五種資料型別的特點和簡單應用。string 資料結構是簡單的 key v...

Redis的資料型別

redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api,它通常被稱為資料結構伺服器,支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 和zset sorted set...