一、簡介
string是最簡單的資料型別,乙個key對應乙個value,string型別是二進位制安裝的。redis的string可以包含任何資料,比如jpg或者序列化的物件。
1.set key value:設定key對應的值為string型別的value,返回值ok
127.0.0.1:6379> set mykey 'this is a sting'
ok
這樣就想當於設定了mykey='this is a string'的鍵值對。set是可以重新設定的,也就是說我如果再執行set mykey 'this is another string'那麼後面的值會覆蓋前面的值。
2.get key:獲取key鍵對應的string value:
127.0.0.1:6379> get mykey
"this is a string"
這樣就獲取了剛才我們設定的mykey對應的value 值為'this is a string'
3.setnx key value:只對不存在的key設定對應的value值,如果key已經存在那麼設定不成功返回integer 0,nx是not exist的意思。如果key不存在那麼設定成功返回integer 1
127.0.0.1:6379> setnx mykey 'this is mykey value'
(integer) 0
說明設定不成功,這個時候我們再用get mykey
127.0.0.1:6379> get mykey
"this is a string"
可以看到還是之前的值,並沒有變化。那麼我們用setnx mykey1 『this is mykey1 value'看看是什麼情況,mykey1是之前沒有設定過的
127.0.0.1:6379> setnx mykey1 'this is mykey1 string value'
(integer) 1
127.0.0.1:6379> get mykey1
"this is mykey1 string value"
很明顯mykey1設定成功了。
4.setex key value:設定key對應的值為string型別的value,並指定此鍵值對應的有效期。
127.0.0.1:6379> setex boyname 10 joker
ok
上面語句的意思是我設定了乙個鍵值為boyname的value為joker,並且10後過期,那麼我get boyname回獲取到10秒,但是10秒之後就會返回(nil)這個代表redis裡的空字串。
set boyname joker如果沒有設定有效期,代表永久有效。
5.setrange key value start childstring:設定指定key的value的子字串。從start開始,設定長度為length
127.0.0.1:6379> set email [email protected]
ok127.0.0.1:6379> get email
127.0.0.1:6379> setrange email 5 gmail.com
(integer) 14
127.0.0.1:6379> get email
上面的命令首先設定email為[email protected]然後把163.com替換為 gmail.com
6.mset key1 value1 key2 value2 key3 value3 .........:一次設定多個key值,成功返回ok表示所有的值都設定了,失敗返回0表示沒有任何值被設定。
127.0.0.1:6379> mset key1 value1 key2 value2 key3 value3
ok
127.0.0.1:6379> get key1
"value1"
同樣用mset再次設定kye1 key2 key3的值,會覆蓋前面的值。
127.0.0.1:6379> mset key1 newvalue1 key2 newvalue2 key3 newvalue3
ok
127.0.0.1:6379> get key1
"newvalue1"
7.msetnx key1 value1 key2 value2 key3 value3 ......:一次設定多個key的值,成功返回ok表示所有的值都設定了,失敗返回0表示沒有任何值被設定,但是不會覆蓋已經存在的可以值
127.0.0.1:6379> msetnx key1 value1 key2 value2 key4 value4
(integer) 0
因為key1 key2之前被設定過,所以失敗
127.0.0.1:6379> msetnx key4 value4 key5 value5
(integer) 1
key4 key5都沒有設定過,所以成功
8.getset key value:設定乙個新值,並且返回舊值。
127.0.0.1:6379> get key4
"value4"
127.0.0.1:6379> getset key4 newvalue4
"value4"
127.0.0.1:6379> get key4
"newvalue4"
上面的命令首先獲取key4原來的值為value4,用getset設定key4新值為newvalue4,同時返回了舊值value4。用完getset命令之後再用get獲取key4為新值newvalue4.
9.getrange key start end:獲取key的子字串,從start開始到end結束
127.0.0.1:6379> getrange key4 1 3
"ewv"
10.mget key1 key2 key3...:批量獲取
127.0.0.1:6379> mget key1 key2 key3
1) "test1"
2) "test2"
3) "test3"
11.incr key : 自增
127.0.0.1:6379> set num 2
ok127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> get num
"3"
12.decr key : 自減
127.0.0.1:6379> decr num
(integer) 2
127.0.0.1:6379> get num
"2"
13 .incrby key count:以指定的count數進行自增
127.0.0.1:6379> incrby num 10
(integer) 12
127.0.0.1:6379> get num
"12"
14.decrby key count:以指定的count數進行自減
127.0.0.1:6379> decrby num 2
(integer) 10
127.0.0.1:6379> get num
"10"
15.strlen key:獲取key對應value字串的長度
127.0.0.1:6379> strlen key1
(integer) 10
Nosql之redis學習(四)
set是集合,他是string型別的無序集合。set是通過hash table實現的,新增,查詢和刪除的複雜度都是o 1 對集合我們可以取並集,交集,差集。通過這寫操作我們可以實現sns中的好友推薦和blog的tag功能。方法 sadd 向名稱為key的set中新增元素。方法 smembers 返回...
NoSQL資料庫之 Redis
redis是基於記憶體的nosql資料庫。前身是memcached,但是memcached不支援持久化,沒有豐富的資料型別。redis存放的資料是key values鍵值對。1 解壓 tar zxvf redis 3.0.5.tar.gz 預編譯,需要gcc環境。apt get install gc...
企業級架構NoSQL之Redis
今天給大家分享一下redis的安裝與配置 redis可以原始碼安裝,也可yum安裝,但是yum安裝定製性不強,今天分享的是原始碼安裝。shell tar xvf redis 5.0.5.tar.gz shell cd redis 5.0.5 shell make prefix usr local r...