string 是最簡單的型別,你可以理解成與 memcached 是一模一樣的型別,乙個 key 對應乙個value,其上支援的操作與 memcached 的操作類似。但它的功能更豐富。
string 型別是二進位制安全的。意思是 redis 的 string 可以包含任何資料,比如 jpg 或者序列化的物件。從內部實現來看其實 string 可以看作 byte 陣列,最大上限是 1g 位元組。
redis 127.0.0.1:6379> set name hongwan
okredis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
"hongwan"
redis 127.0.0.1:6379> setnx name hongwan_new
(integer) 0
redis 127.0.0.1:6379> get name
"hongwan"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> setex haircolor 10 red
okredis 127.0.0.1:6379> get haircolor
"red"
redis 127.0.0.1:6379> get haircolor
(nil)
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
redis 127.0.0.1:6379> setrange name 8 gmail.com
(integer) 17
redis 127.0.0.1:6379> get name
redis 127.0.0.1:6379>
其中的 8 是指從下標為 8(包含 8)的字元開始替換
redis 127.0.0.1:6379> mset key1 hongwan1 key2 hongwan2
okredis 127.0.0.1:6379> get key1
"hongwan1"
redis 127.0.0.1:6379> get key2
"hongwan2"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get key1
"hongwan1"
redis 127.0.0.1:6379> get key2
"hongwan2"
redis 127.0.0.1:6379> msetnx key2 hongwan2_new key3 hongwan3
(integer) 0
redis 127.0.0.1:6379> get key2
"hongwan2"
redis 127.0.0.1:6379> get key3
(nil)
redis 127.0.0.1:6379> get name
"hongwan"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
"hongwan"
redis 127.0.0.1:6379> getset name hongwan_new
"hongwan"
redis 127.0.0.1:6379> get name
"hongwan_new"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
redis 127.0.0.1:6379> getrange name 0 6
"hongwan"
redis 127.0.0.1:6379>
字串左面下標是從 0 開始的
redis 127.0.0.1:6379> getrange name -7 -1
"126.com"
redis 127.0.0.1:6379>
字串右面下標是從-1 開始的
redis 127.0.0.1:6379> getrange name 7 100
"@126.com"
redis 127.0.0.1:6379>
當下標超出字串長度時,將預設為是同方向的最大下標
redis 127.0.0.1:6379> mget key1 key2 key3
1) "hongwan1"
2) "hongwan2"
3) (nil)
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> set age 20
okredis 127.0.0.1:6379> incr age
(integer) 21
redis 127.0.0.1:6379> get age
"21"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get age
"21"
redis 127.0.0.1:6379> incrby age 5
(integer) 26
redis 127.0.0.1:6379> get name
redis 127.0.0.1:6379> get age
"26"
redis 127.0.0.1:6379>
edis 127.0.0.1:6379> get age
"26"
redis 127.0.0.1:6379> decr age
(integer) 25
redis 127.0.0.1:6379> get age
"25"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get age
"25"
redis 127.0.0.1:6379> decrby age 5
(integer) 20
redis 127.0.0.1:6379> get age
"20"
redis 127.0.0.1:6379>
decrby 完全是為了可讀性,我們完全可以通過 incrby 乙個負值來實現同樣效果,反之一樣。
redis 127.0.0.1:6379> get age
"20"
redis 127.0.0.1:6379> incrby age -5
(integer) 15
redis 127.0.0.1:6379> get age
"15"
redis 127.0.0.1:6379>
(integer) 15
redis 127.0.0.1:6379> get name
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
"hongwan_new"
redis 127.0.0.1:6379> strlen name
(integer) 11
redis 127.0.0.1:6379> get age
"15"
redis 127.0.0.1:6379> strlen age
(integer) 2
redis 127.0.0.1:6379>
Redis資料型別及操作(二)
redis資料型別及操作 二 redis是key value的資料結構,每條資料都是乙個鍵值對 鍵的型別是字串,並且鍵是不能夠重複的 值的型別有string hash list set zset。查詢鍵 支援正規表示式 key patterns 檢視所有鍵 keys 檢視名稱中包含a的鍵 keys ...
Redis 資料型別及操作之 sets 型別
向名稱為 key 的 set 中新增元素。sadd myset value檢視 set 中的所有元素。smembers myset刪除名稱為 key 的 set 中的給定元素。srem myset value隨機返回並刪除名稱為 key 的 set 中乙個元素。spop myset返回第乙個 set...
redis基本操作及資料型別命令
資料型別 string 字串 list 鍊錶 hash 雜湊 set 集合 zsort 有序集合 預設16個資料庫,可通過配置檔案修改。基本操作 關於訪問中文顯示時是亂碼,解決辦法是啟動客戶端時加入 raw redis cli raw config set requirepass 123456 設定...