Redis 6 五大資料型別之String型別

2021-10-10 02:46:55 字數 3161 閱讀 3066

127.0.0.1:6379>

set name liuqing

#如果字元存在,就追加

(integer) 12

127.0.0.1:6379> strlen name

(integer) 12

127.0.0.1:6379> get name

"liuqinghello"

#如果字元不存在 ,就建立乙個

(integer) 9

127.0.0.1:6379> keys *

1)"name"

2)"key1"

2.自增 與自減 :incr 與 decr

127.0.0.1:6379>

set views 0

ok127.0.0.1:6379> get views

"0"127.0.0.1:6379> incr views #加一

(integer) 1

127.0.0.1:6379> incr views #加一

(integer) 2

127.0.0.1:6379> get views #檢視結果

"2"127.0.0.1:6379> decr views #減少一

(integer) 1

127.0.0.1:6379> decr views #減少一

(integer) 0

127.0.0.1:6379> get views #檢視結果

"0"

3.步長的自增與自減少 :incrby 與 decrby

127.0.0.1:6379> incrby views 10

(integer) 10

127.0.0.1:6379> incrby views 10

(integer) 20

127.0.0.1:6379> decrby views 10

(integer) 10

127.0.0.1:6379> decrby views 10

(integer) 0

4.替換與擷取:setrange 與 getrange

127.0.0.1:6379> get name

"liuqinghello"

127.0.0.1:6379> getrange name 3 6

"qing"

127.0.0.1:6379> setrange name 7 ok

(integer) 12

127.0.0.1:6379> get name #將下標為7的字元替換為 ok了

"liuqingokllo"

5.setex 與 setnx

127.0.0.1:6379> setex key1 10 "hello"

#設定過期時間

ok127.0.0.1:6379> ttl key1 #檢視剩餘的時間

(integer) 4

127.0.0.1:6379> get key1 #過期後key1不存在

(nil)

127.0.0.1:6379> get key1

(nil)

127.0.0.1:6379> setnx mykey "redis"

# 如果不存在則建立

(integer) 1

127.0.0.1:6379> keys * #建立乙個key mykey

1)"views"

2)"name"

3)"mykey"

127.0.0.1:6379> setnx mykey "mongodb"

#如果存在,則建立失敗,不會被覆蓋

(integer) 0

127.0.0.1:6379> get mykey #值還是redis 沒改變

"redis"

6.同時設定獲取多個值:mset 與mget

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3

ok127.0.0.1:6379> keys *

1)"k3"

2)"k2"

3)"k1"

127.0.0.1:6379> mget k1 k2 k3

1)"v1"

2)"v2"

3)"v3"

127.0.0.1:6379> msetnx k1 v3 k4 v4 #msetnx 上述的setnx 相似,存在就建立失敗。(同時成功 ,同時失敗,保證了原子性)

(integer) 0

127.0.0.1:6379> keys * #檢視結果 k4 沒有

1)"k3"

2)"k2"

3)"k1"

7.物件

user:1:name "liuqing":表示user 物件 id為1 的name屬性 值為 liuqing

user:1:age 2:表示user 物件 id為1 的age屬性 值為 2

127.0.0.1:6379> mset user:1:name "liuqing" user:1:age 2

ok127.0.0.1:6379> keys * # 檢視key發現還是普通key-value 鍵值對,只是key含義不同

1)"k2"

2)"user:1:name"

3)"user:1:age"

4)"k1"

5)"k3"

127.0.0.1:6379> mget user:1:age user:1:name

1)"2"

2)"liuqing"

8.getset

127.0.0.1:6379> getset k2 redis #先獲取後設定值

"v2"

127.0.0.1:6379> getset k2 mongodb

"redis"

127.0.0.1:6379> get k2

"mongodb"

127.0.0.1:6379>

9.string 型別的使用場景

redis五大資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 127.0 0.1 6379 set name yzl ok127.0 0.1 6379 get name yzl 127.0 0.1 6379 hmset my...

redis五大資料型別

string是redis最基本的型別 string型別是二進位制安全的,可以包含任何資料,或者序列化的物件 string型別是redis最基本的資料型別,乙個redis中字串value最多可以是512mhash是乙個鍵值對集合 hash是乙個string型別的field和value的對映表,hash...

redis五大資料型別

string是redis最基本的型別 string型別是二進位制安全的,可以包含任何資料,或者序列化的物件 string型別是redis最基本的資料型別,乙個redis中字串value最多可以是512mhash是乙個鍵值對集合 hash是乙個string型別的field和value的對映表,hash...