安裝
- Linux系統(tǒng),在官網(wǎng)下載Redis 源碼,按照README中的描述編譯安裝郭宝。
- Windows系統(tǒng),Github有編譯好的Redis-windows掷漱,下載后直接運(yùn)行即可粘室。
tips: 要在瀏覽器中直接查看Redis數(shù)據(jù)庫(kù),可以使用RedisReact
運(yùn)行
通過(guò)如下命令即可啟動(dòng)服務(wù)器并加載配置:
$ redis-server /path/to/redis.conf
要在Redis遠(yuǎn)程服務(wù)器上運(yùn)行的命令卜范,需要通過(guò)客戶端redis-cli 連接到服務(wù)器:
$ redis-cli -h host -p port -a password
如果是本地服務(wù)器衔统,則直接運(yùn)行即可:
$ redis-cli
127.0.0.1:6379> ping
PONG
命令舉例
1.string
字符串命令用于管理字符串值。使用SET/GET進(jìn)行設(shè)置/讀取,使用INCR/DECR對(duì)key的整數(shù)值遞增/減锦爵。如果該key不存在舱殿,它在執(zhí)行操作前會(huì)被設(shè)為0。
127.0.0.1:6379> SET counter 10
OK
127.0.0.1:6379> INCR counter
(integer) 11
127.0.0.1:6379> INCR counter
(integer) 12
127.0.0.1:6379> DEL counter
(integer) 1
127.0.0.1:6379> INCR counter
(integer) 1
127.0.0.1:6379> DECR counter
(integer) 0
2.hash
操作哈希值相對(duì)操作字符串命令前多了前綴"H"险掀,如HSET沪袭、HGET;操作多個(gè)哈希字段的多個(gè)值前綴"HM"樟氢,如HMSET冈绊、HMGET。完成后使用type命令查看下類(lèi)型埠啃。
127.0.0.1:6379> hset CEO sex male
OK
127.0.0.1:6379> hmset CEO name Steve age 40
OK
127.0.0.1:6379> hmget CEO name age
1) "Steve"
2) 40
127.0.0.1:6379> hdel CEO sex
(integer) 1
127.0.0.1:6379> hget CEO sex
(nil)
127.0.0.1:6379> type CEO
hash
3.list
列表是簡(jiǎn)單的字符串列表死宣,命令前綴為"L"。使用lset設(shè)置碴开,lpush添加毅该,lpop取出,lrange/lindex查詢潦牛,lrem刪除眶掌。使用rpop取出列表中的最后一個(gè)元素。還有阻塞操作等可查看文檔罢绽。
127.0.0.1:6379> lpush booklist "Effective C++"
(integer) 1
127.0.0.1:6379> lpush booklist "Headfirst Java"
(integer) 2
127.0.0.1:6379> lrange booklist 0 5
1) "Headfirst Java"
2) "Effective C++"
127.0.0.1:6379> lset booklist 2 "Effective Python"
(error) ERR index out of range
127.0.0.1:6379> lset booklist 0 "Effective Python"
OK
127.0.0.1:6379> lindex booklist 0
"Effective Python"
127.0.0.1:6379> lrange booklist 0 5
1) "Effective Python"
2) "Effective C++"
127.0.0.1:6379> lpop booklist
"Effective Python"
127.0.0.1:6379> lpop booklist
"Effective C++"
127.0.0.1:6379> lpop booklist
(nil)
4.set
該類(lèi)型是字符串的無(wú)序集合畏线,不允許重復(fù)静盅,命令前綴為"S"良价。使用SADD添加,SREM移除蒿叠,SMEMBERS返回成員明垢,SMOVE移動(dòng)成員,SPOP移除并返回集合中的一個(gè)隨機(jī)元素市咽。
127.0.0.1:6379> sadd movies "RANGO"
(integer) 1
127.0.0.1:6379> sadd movies INCEPTION UP
(integer) 2
127.0.0.1:6379> smembers movies
1) "RANGO"
2) "UP"
3) "INCEPTION"
127.0.0.1:6379> spop movies
"UP"
127.0.0.1:6379> srem moives RANGO
(integer) 1
5.zset
有序集合與set類(lèi)似痊银,不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類(lèi)型的分?jǐn)?shù)。前綴為"Z"施绎,使用ZADD添加溯革,ZCARD查詢成員數(shù)量,ZREM移除等谷醉。
127.0.0.1:6379> zadd db 0 redis
(integer) 1
127.0.0.1:6379> zadd db 3 sqlite 1 mongodb
(integer) 2
127.0.0.1:6379> zrange db 0 5 withscores
1) "redis"
2) "0"
3) "mongodb"
4) "1"
5) "sqlite"
6) "3"
127.0.0.1:6379> zcard db
(integer) 3
127.0.0.1:6379> zrem db mongodb redis
(integer) 2
在線教程
官網(wǎng)有在線的交互式教程致稀,引導(dǎo)新手一步步學(xué)習(xí)Redis。點(diǎn)擊Try Redis體驗(yàn)俱尼。