redis學習準備篇
string
127.0
.0.1:6379
>
set key1 v1 --設定值
ok127.0
.0.1:6379
> get key1 --取值
"v1"
127.0
.0.1:6379
>
keys
*(error) err unknown command 'keys*'
127.0
.0.1:6379
>
keys
*--顯示所有key1)
"key1"
127.0
.0.1:6379
>
exists key1 --判斷存在key
(integer)1
127.0
.0.1:6379
--忘字串裡加值
(integer)5
127.0
.0.1:6379
> get key1
"v1ok0"
127.0
.0.1:6379
> strlen key1 --顯示key對應值的長度
(integer)5
127.0
.0.1:6379
>
setview0ok
127.0
.0.1:6379
> get view
"0"127.0
.0.1:6379
> incr view
--每次自增加一
(integer)1
127.0
.0.1:6379
> get view
"1"127.0
.0.1:6379
> decr view
--每次自減減一
(integer)0
127.0
.0.1:6379
> decr view
(integer)-
1127.0
.0.1:6379
> get view
"-1"
127.0
.0.1:6379
> incrby view
10--每次自增加10
(integer)9
127.0
.0.1:6379
> incrby view10(
integer)19
127.0
.0.1:6379
> get view
"19"
127.0
.0.1:6379
> decrby view
5--每次自減5
127.0
.0.1:6379
>
set key1 "hello,asd"
ok127.0
.0.1:6379
> get key1
"hello,asd"
127.0
.0.1:6379
> getrange key1 0
3--擷取字串(索引是從0開始的)
"hell"
127.0
.0.1:6379
> getrange key1 0-1
-- -1表示顯示所有字元
"hello,asd"
127.0
.0.1:6379
>
set key2 adcdefg
ok127.0
.0.1:6379
> get key2
"adcdefg"
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 key3 30
"hello"
--設定值的同時設定生效時間
ok127.0
.0.1:6379
> setex key3 40
"qweq"
ok127.0
.0.1:6379
> get key3
"qweq"
127.0
.0.1:6379
> ttl key3 --顯示剩餘時間
(integer)32
127.0
.0.1:6379
> setnx key4 60
--如果key存在建立失敗,如果key不存在則建立
(integer)1
127.0
.0.1:6379
> get key4
"60"
127.0
.0.1:6379
>
127.0
.0.1:6379
> dbsize --顯示當前資料容量
(integer)4
127.0
.0.1:6379
> flushdb --清空當前庫
ok127.0
.0.1:6379
> dbsize
(integer)0
127.0
.0.1:6379
> mset k1 v1 k2 v2 --同時設定多組key-value
ok127.0
.0.1:6379
> mget k1 k2 --同時取到多組key1)
"v1"2)
"v2"
127.0
.0.1:6379
> msetnx k3 v3 k1 v1 --msetnx是乙個原子性操作,要麼一起成功,要麼一起失敗
(integer)0
127.0
.0.1:6379
> msetnex k3 v3 k4 v4
(error) err unknown command 'msetnex'
127.0
.0.1:6379
> msetnx k3 v3 k4 v4
(integer)1
127.0
.0.1:6379
>
setuser:1 --以json的方式儲存物件
ok127.0
.0.1:6379
> get user
(nil)
127.0
.0.1:6379
> get user:1
""127.0
.0.1:6379
> mset user:2:name wangsi user:2:age 2
--另一種儲存物件方式user::
ok127.0
.0.1:6379
> mget user:2:name user:2:age1)
"wangsi"2)
"2"127.0
.0.1:6379
> getset v9 name --先get再set
(nil)
127.0
.0.1:6379
> get v9
"name"
127.0
.0.1:6379
>
string類似的使用場景:value除了是我們的字串還可以是我們的數字 redis資料型別(String)
常用string操作命令 set keyvalue 設定值 getkey 獲取值 value 追加值 incr key 原子操作,自動加1 value必須為inter型別的字元。decr key 原子操作,自動減1 value必須為inter型別的字元。incrby key num 自動增加指定值 ...
Redis資料型別 String
redis 的字串是動態字串,是可以修改的字串,採用預分配冗餘空間的方式來減少記憶體的頻繁分配。內部為當前字串實際分配的空間 capacity 一般要高於實際字串長度 len。增 set key value 查 get key 刪 del key 增 mset key1 value1 key2 va...
Redis資料型別 String
redis自身是乙個map,其中所有的資料都是通過key value 的形式進行儲存的 127.0.0.1 6379 set name lisi 新增 ok127.0.0.1 6379 get name 獲取 lisi integer 8 127.0.0.1 6379 get name lisiwo...