Redis是一個(gè)非關(guān)系型數(shù)據(jù)庫,也是一個(gè)內(nèi)存數(shù)據(jù)庫(確切一點(diǎn),可以把它看做內(nèi)存數(shù)據(jù)結(jié)構(gòu)服務(wù)器, 設(shè)計(jì)極其精簡,如果說在mongo里面還能看到表的影子"集合(collection)",那么redis則是完全放棄了"表"結(jié)構(gòu),存儲(chǔ)數(shù)據(jù)完全依賴于 五種類型的數(shù)據(jù)結(jié)構(gòu);
Redis存儲(chǔ)數(shù)據(jù) 的 五種數(shù)據(jù)結(jié)構(gòu)
1. 字符串string
2. 哈希hash
3. 列表list
4. 集合set
5. 有序集合zset
Redis存儲(chǔ)數(shù)據(jù)的五種數(shù)據(jù)結(jié)構(gòu)
1.基礎(chǔ)類型string(最基本)
1.1增set
-
格式:
- set 鍵 值
-
示例:
set Apple iPhone
1.2刪del
-
格式:
- del 鍵
-
示例:
del Apple
1.3改set
-
格式:
- set 鍵 值
-
示例:
set Apple iPad
1.4查get
-
格式:
- get 鍵
-
示例:
get Apple
1.5命令
-
創(chuàng)建鍵值對(duì)并設(shè)置過期時(shí)間
-
setex
-
格式:
- setex 鍵 失效時(shí)間(秒) 值
-
示例:
setex Canon 60 eos70D
-
-
-
同時(shí)設(shè)置多個(gè)鍵-->值
-
mset
-
格式:
- mset 鍵 值 鍵 值
-
-
-
同時(shí)獲取多個(gè)鍵的值
-
mget
-
示例:
mset HHKB Professional2_types Amazon Kindle
-
-
-
同時(shí)刪除多個(gè)鍵的值
-
del
-
格式:
- del 鍵 鍵
-
示例
del HHKB Amazon
-
-
2. 列表類型list
2.1 增
-
左側(cè)添加
-
lpush
-
格式:
- lpush 鍵 值1 值2 值3 值4 值5 值6
-
示例:
lpush num 60 50 40 30 20 10
-
-
-
右側(cè)添加
-
rpush
-
格式:
- rpush num 值1 值2 值3 值4
-
示例:
rpush num 70 80 90 100
-
-
-
在指定值的 前/后插入數(shù)據(jù)
-
前
-
格式:
- linsert key before 現(xiàn)有值 新值
-
示例:
linsert num before 20 15
-
-
后
-
格式:
- linsert key after 現(xiàn)有值 新值
-
示例:
linsert num after 20 25
-
-
2.2 刪
-
lrem
-
格式:
- lrem key 0 需要?jiǎng)h除的值(這里的0表示刪除所有的值, -10 表示從后往前數(shù),符合條件的前十個(gè)刪除, +5 表示從前往后數(shù), 符合條件的前5個(gè)刪除)
-
示例:
lrem num 0 20
-
2.3 改
-
lset
-
格式:
- lset 舊值的索引 新的值
-
示例:
lset 1 14
-
2.4 查
-
lrange
-
格式:
- lrange 鍵 起始索引 終止索引
-
示例:
lrange num 0 -1
-
3. 無序集合類型set
3.1增sadd
-
格式:
- sadd 鍵 值 值 值
-
示例:
sadd Apple Mac iPhone iPod
3.2刪srem
(刪除集合中某一個(gè)元素的值)
-
格式:
- srem 鍵 值
-
示例:
srem Apple Mac
3.3查smembers
-
格式:
- smembers 集合的鍵 集合中的值
-
示例:
srem Apple Mac
4.有序集合類型zset
4.1增zadd
-
格式:
- zadd 鍵 權(quán)重1 值1 權(quán)重2 值2 權(quán)重3 值3
-
示例:
zadd Apple 15000 Mac 7000 iPhone 300 iPod
4.2刪zrem
-
格式:
- zrem 鍵 值
-
示例:
zrem Apple Mac
4.3查
-
zrange
(按照索引范圍取值)-
格式:
- zrange 鍵 起始索引值 終止索引值
-
示例:
zrange Apple 0 -1
-
-
zrangebyscore
(按照權(quán)重范圍取值)-
格式:
- zrangebyscore 鍵 較小的權(quán)重 較大的權(quán)值
-
示例:
zrangebyscore Apple 2000 8000
-
5. 對(duì)象類型hash(相當(dāng)于一個(gè)小的redis數(shù)據(jù)庫)
5.1增hset
-
格式:
- hset 鍵 屬性1的名稱 屬性1的值 屬性2的名稱 屬性2的值 屬性3的名稱 屬性3的值
-
示例:
hset Phone name iPhone prize 7999 color blank
5.2刪hdel
-
格式:
- hdel 鍵 屬性1
-
示例:
hdel Phone prize
5.3改hset
-
格式:
- hset 鍵 屬性1的名稱 屬性1的新值
-
示例:
hset Phone name vivo
5.4查
-
hkeys
(獲取所有屬性的值)-
格式:
- hkeys 鍵
-
示例:
hkeys Phone
-
-
hget
(獲取單個(gè)屬性的值)-
格式:
- hget 鍵 屬性名
-
示例:
hget Phone name
-
附錄:鍵命令
(常用)查看所有鍵
- keys *
根據(jù)鍵中關(guān)鍵字,如查找相關(guān)鍵(包含"zhao"的)
- keys "zhao"
查看鍵對(duì)應(yīng)類型
- type 鍵名
設(shè)置過期時(shí)間
- expire 鍵名
查看有效時(shí)間
- ttl 鍵名
刪除關(guān)聯(lián)外層類型的鍵
- del 鍵名
Redis常用命令總結(jié)