string型別(字串)
127.0.0.1:6379>
set key1 v1 #設定值
ok127.0.0.1:6379> get key1 #取值
"v1"
127.0.0.1:6379> keys * #檢視所有值
1)"key1"
127.0.0.1:6379> exists key1 #key是否存在
(integer) 1
#追加值
(integer) 7
127.0.0.1:6379> get key1
"v1hello"
127.0.0.1:6379> strlen key1 #獲取字串的長度
(integer) 7
(integer) 16
127.0.0.1:6379> get key1
"v1hello ,bowenxu"
(integer) 7
127.0.0.1:6379> get key2
"bowenxu"
自增自減
127.0.0.1:6379>
set views 0
ok127.0.0.1:6379> get views
"0"127.0.0.1:6379> incr views #自增1
(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 #自減1
(integer) 1
127.0.0.1:6379> decr views
(integer) 0
127.0.0.1:6379> decr views
(integer) -1
127.0.0.1:6379> get views
"-1"
127.0.0.1:6379> incrby views 10 #自增可以設定步長
(integer) 9
127.0.0.1:6379> incrby views 10
(integer) 19
127.0.0.1:6379> decrby views 5 #自減可以設定步長
(integer) 14
127.0.0.1:6379> decrby views 5
(integer) 9
127.0.0.1:6379>
擷取字串
127.0.0.1:6379> flushdb
ok127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>
set key1 "hello bowenxu"
ok127.0.0.1:6379> get key1
"hello bowenxu"
127.0.0.1:6379> getrange key1 0 3 #擷取字串[0,3]
"hell"
127.0.0.1:6379> getrange key1 0 -1 #獲取全部字串==get
"hello bowenxu"
127.0.0.1:6379>
"hello bowenxu"
127.0.0.1:6379>
set key2 abcdefg
ok127.0.0.1:6379> get key2
"abcdefg"
127.0.0.1:6379> setrange key2 1 xx #替換指定字元
(integer) 7
127.0.0.1:6379> get key2
"axxdefg"
127.0.0.1:6379>
########################################
setex (set with expire)
#設定過期時間
setnx (set if not exist)
#如果不存在這個key,那麼建立,分布式鎖中常用
########################################
127.0.0.1:6379> setex key3 hello
(error) err wrong number of arguments for
'setex'
command
127.0.0.1:6379> setex key3 30 hello
ok127.0.0.1:6379> setnx mykey "redis"
(integer) 1
127.0.0.1:6379> keys *
1)"key2"
2)"key1"
3)"key3"
4)"mykey"
127.0.0.1:6379> setnx mykey "mongodb"
(integer) 0
127.0.0.1:6379>
########################################
mset
setnx (set if not exist)
#如果不存在這個key,那麼建立,分布式鎖中常用
#set多個值
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
ok127.0.0.1:6379> keys *
1)"key2"
2)"k1"
3)"k3"
4)"key1"
5)"k2"
6)"mykey"
#get多個值
127.0.0.1:6379> 127.0.0.1:6379> mget k1 k2 k3
1)"v1"
2)"v2"
3)"v3"
#原子式操作
127.0.0.1:6379> msetnx k1 v222 k4 v444
(integer) 0
#物件#設定乙個user:1 物件,用json字串來儲存乙個物件
set user:1
#巧妙設計 user:: ,如此設計非常巧妙,在redis中是完全ok的
127.0.0.1:6379> mset user:1:name bowenxu user:1:age 35
ok127.0.0.1:6379> mget user:1:name user:1:age
1)"bowenxu"
2)"35"
########################################
#先get再set
127.0.0.1:6379> getset db redis #如果不存在,返回nil
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db mogodb #如果存在,獲取原來的值,並設定新的值
"redis"
127.0.0.1:6379> get db
"mogodb"
127.0.0.1:6379>
資料結構是相同的
string 場景 value除了是字串,還可以是數字
redis五大型別以及相關命令
連線雲伺服器後,輸入命令redis cli進入redis.string set u 5333 將字串u設定為5333 getrange u 0 1 獲取儲存在keyu中全部字串 incr u 將u增1 decr u 將u減1 incrby u 3 將u增加3 decrby u 3 將u減去3 inc...
Redis五大型別之String操作
檢視和連線redis命令列 redis cli help 檢視所有string型別的操作 help stringstring型別分為三種 1.string 2.number 3.bit 應用場景 秒殺 incr 分布式鎖setnx 一 string 型別 1 插入資料 set k1 aa 2 如果k...
06 redis 五大型別 list
list 基本資料型別,列表 在redis裡面,可以把list玩成 堆,棧 3 基本命令 127.0.0.1 6379 lpush list one 把乙個值,放在列表的頭部 l integer 1 127.0.0.1 6379 lpush list two integer 2 127.0.0.1 ...