通過上兩篇的介紹,我們的redis伺服器基本跑起來。db都具有最基本的CRUD功能,我們沿著這個脈絡,開始學習redis豐富的資料結構之旅,當然先從最簡單且常用的string開始。
Redis系列-遠端連線redis並給redis加鎖
Redis系列-安裝部署維護篇
1、新增
a)set
文法:set key value
解釋:把值value賦給key,如果key不存在,新增;否則,更新
[root@bkjia001 ~]# redis-cli
redis 127.0.0.1:6379> set user.1.name zhangsan #設定user.1.name 為zhangsan
OK
redis 127.0.0.1:6379> set user.name 45 #設定user.1.name 為45
OK
b)setnx
文法:setnx key value
解釋:只insert不update,即,僅僅key不存在時,則設定key的值為value,並返回1,否則返回0 。setnx 是set if not exists 的縮寫
redis 127.0.0.1:6379> setnx user.1.name zhangsan #user.1.name已經存在,則返回0
(integer) 0
redis 127.0.0.1:6379> setnx user.2.name zhangsan #user.2.name不存在,則設定
(integer) 1
c)setex
文法: setex key seconds value
解釋:設定key的到期時間和值。到期時間seconds單位是秒。設定到期時間和值是原子操作,如果redis僅僅當做緩衝,這個很命令很有用。
redis 127.0.0.1:6379> setex user.2.age 2 14 #把user.2.age 的值設14 並且2秒後到期失效
OK
redis 127.0.0.1:6379> get user.2.age #失效前
"14"
redis 127.0.0.1:6379> get user.2.age #失效後
(nil)
d)mset
文法:mset key value [key value ...]
解釋:同時設定多個key-value
redis 127.0.0.1:6379> mset user.4.name lisi user.4.age 34 #設定user.4.name=lisi,user.4.age=34
OK
redis 127.0.0.1:6379> get user.4.name
"lisi"
redis 127.0.0.1:6379> get user.4.age
"34"
e)msetnx
文法:msetnx key value [key value ...]
解釋:所有key都不存在才執行set操作
redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.age 34 #key 都設定過,無法再次set
(integer) 0
redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.std 3 #key user.4.name 曾設定過,無法再次設定
(integer) 0
redis 127.0.0.1:6379> msetnx user.4.tech lisi user.4.std 3 #key都沒有設定過,可以再次設
(integer) 1