1、Redis存儲String類型
(1)基本概念
一個鍵最大能存儲512M的數據,value不僅可以使字符串還可以是數字,是包含很多種類型的特殊類型
string類型是二進制安全的,意思是redis的string可以包含任意類型的數據,例如:圖片的二進制存儲、字符串、數值等
(2)應用場景
String可用於保存單個字符串或JSON字符串類型的數據
因為String是二進制安全的,可以將一張圖片作為二進制來存儲
計數器:計數粉絲數。因為redis的原子性,不用考慮線程安全的問題。即使有十個用戶同時讀取到一個數據,在他們進行加以操作后,數據的值增加的依舊是十
2、String類型的命令
(1)set和get實現字符串存取:
鍵的名字相同,會對以前的值進行覆蓋:
(2)setnx命令:如果key不存在則賦值並返回1,如果已經存在則賦值並返回0
127.0.0.1:6379> setnx zhai zzz
(integer) 0
127.0.0.1:6379> setnx qian zhhh
(integer) 1
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "huangzzz"
6) "zhai"
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> get qian
"zhhh"
可用於解決分布式鎖的問題
(3)get:取值命令,值存在的話返回值,不存在的話返回null
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> get 123
(nil)
(4)getrange:取一個字符串的子字符串,下標從零開始,兩個參數是偏移量
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> getrange zhai 1 4
"0100"
(5)getset:設置key的值並返回key的原來的值
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> getset zhai 123321
"201001"
127.0.0.1:6379> get zhai
"123321"
(6)strlen:獲取長度
127.0.0.1:6379> get zhai
"123321"
127.0.0.1:6379> strlen zhai
(integer) 6
(7)del:刪除
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "huangzzz"
6) "zhai"
127.0.0.1:6379> del huangzzz
(integer) 1
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "zhai"
(8)批量讀寫
批量寫:
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "zhai"
127.0.0.1:6379> mset user1 zhai user2 zhang
OK
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "user1"
4) "user2"
5) "zhao"
6) "ZHAI"
7) "zhai"
批量讀:
127.0.0.1:6379> mget zhang qian user1
1) "202002"
2) "zhhh"
3) "zhai"
(9)++操作:
(10)--操作:
(11)設定增量值
加:
127.0.0.1:6379> set num 12
OK
127.0.0.1:6379> get num
"12"
127.0.0.1:6379> incrby num 10
(integer) 22
127.0.0.1:6379> incrby num 10
(integer) 32
127.0.0.1:6379> incrby num 10
(integer) 42
減:
127.0.0.1:6379> get num
"42"
127.0.0.1:6379> decryby 10
(integer) 32
127.0.0.1:6379> decrby num 10
(integer) 22
127.0.0.1:6379> decrby num 10
(integer) 12
127.0.0.1:6379> decrby num 10
(integer) 2
(12)拼接字符串:
127.0.0.1:6379> get zhai
"123321"
127.0.0.1:6379> append zhai nihao
(integer) 11
127.0.0.1:6379> get zhai
"123321nihao"