redis数据库各种数据类型的增删改查命令
生活随笔
收集整理的這篇文章主要介紹了
redis数据库各种数据类型的增删改查命令
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
redis的常用數(shù)據(jù)操作:
redis是key-value的數(shù)據(jù)結(jié)構(gòu),每條數(shù)據(jù)都是一個(gè)鍵值對(duì)。
鍵的類(lèi)型是字符串并且鍵不能重復(fù)。
redis最基本數(shù)據(jù)類(lèi)型是string 所以下面的操作可以省略引號(hào)"" 編譯器能夠當(dāng)作字符串來(lái)識(shí)別我們的命令
值的類(lèi)型分為五種:
1 字符串string
2 哈希hash
3 列表list
4 集合set
5 有序集合zset
string類(lèi)型命令:
1 增加、修改: 如果設(shè)置的鍵不存在則添加,如果存在則修改
1.1 設(shè)置鍵值
set key value
例如: 添加鍵py1 值為gj
set "py1" "gj"
1.2 設(shè)置鍵值及過(guò)期時(shí)間:以秒為單位,過(guò)期后數(shù)據(jù)自動(dòng)刪除
setex key seconds value
例如:設(shè)置鍵py2 的值為hr 3秒后過(guò)期
setex "py2" 3 "hr"
1.3 設(shè)置多個(gè)鍵值:
mset key1 value1 key2 value2 ....
例如:設(shè)置鍵py3值為dx 鍵py4值為xd 鍵py5值為nd 鍵py6值為bg
mset "py3" "dx" "py4" "xd" "py5" "nd" "py6" "bg"
1.4 追加值: 在值后追加字符串
append key value
例如:向鍵py1 追加haha
append "py1" "haha"
2 獲取:
2.1 根據(jù)鍵獲取值,如果不存在返回null
get key
例如:獲取py1的值
get "py1"
2.2 根據(jù)多個(gè)鍵,獲取多個(gè)值
mget key1 key2 key3 ...
例如:獲取py3 py4 py5 py6 的值
mget "py3" "py4" "py5" "py6"
3 刪除:刪除鍵的時(shí)候會(huì)刪除值
del key1 key2 key3 ...
鍵命令:
1 查找鍵,參數(shù)通配符查找
keys patern
例如:查看所有的鍵
keys *
例如:查看所有包含a的鍵
keys "*a*"
2 判斷鍵是否存在,存在返回1 否則返回0
exists key
例如: 判斷py1鍵是否存在
exists "py1"
3 查看鍵對(duì)應(yīng)的value的類(lèi)型
type key
例如:查看py1的值的類(lèi)型
type "py1"
4 刪除鍵對(duì)應(yīng)的值
del key1 key2 ....
例如:刪除鍵'py3'、'py4'、'py5'、'py6'
del 'py3' 'py4' 'py5' 'py6'
5 設(shè)置過(guò)期時(shí)間,以秒為單位。如果沒(méi)有指定過(guò)期時(shí)間,則一直存在,直到使用del移除
expire key seconds
例如:設(shè)置py1的過(guò)期時(shí)間為10秒
expire "py1" 10
6 查看有效時(shí)間 秒為單位,已經(jīng)失效則返回-2
ttl key
例如:查看py2的有效時(shí)間
ttl py2
hash類(lèi)型命令:
hash用于存儲(chǔ)對(duì)象,對(duì)象結(jié)構(gòu)為屬性、值。即 鍵值對(duì)中值是屬性、值的組合。值的類(lèi)型是string
1 增加、修改
1.1 設(shè)置單個(gè)屬性
hset key field value
例如:設(shè)置py2的屬性name為hr
hset "py2" name hr
1.2 設(shè)置多個(gè)屬性
hmset key field1 value1 field2 value2 ...
例如:設(shè)置py3的屬性name為dx 屬性gender為1 屬性birthday為2017-1-1
hmset py3 name dx gender 1 birthday 2017-1-1
2 獲取
2.1 獲取指定鍵的所有屬性
hkeys key
例如:獲取py3的所有屬性
hkeys py3
2.2 獲取一個(gè)屬性的值
hget key field
例如:獲取py2屬性name的值
hget py2 name
2.3 獲取多個(gè)屬性值
hmget key field1 field2 ....
例如:獲取py3屬性name gender 和birthday
hmget py3 name gender birthday
2.4 獲取所有屬性
hvals key
例如:獲取py3的所有屬性的值
hvals py3
3 刪除:
3.1 刪除整個(gè)hash鍵值使用del命令
del key
3.2 刪除屬性
hdel key field1 field2...
例如:刪除py3的屬性gender birthday
hdel py3 gender birthday
list類(lèi)型命令:
列表的元素類(lèi)型為string
按照插入順序排序
1 增加
1.1 在左側(cè)插入數(shù)據(jù)
lpush key value1 value2 ...
例如:從鍵py11的左側(cè)插入數(shù)據(jù)dx xd
lpush py11 dx xd
1.2 在右側(cè)插入數(shù)據(jù)
rpush key value1 value2 ...
例如:從py11右側(cè)插入nd bg
rpush py11 nd bg
1.3 在指定元素的前或后插入新元素
linsert key before/after 現(xiàn)有元素 新元素
例如:在py11的列表中nd前加入zbt
linsert py11 before nd zbt
2 獲取
2.1 返回列表里指定范圍元素:
start、stop為元素的下表索引
索引從左側(cè)開(kāi)始第一個(gè)元素為0
索引可以使負(fù)數(shù),從尾部開(kāi)始,-1代表最后一個(gè)元素
lrange key start stop
例如:獲取py11的列表所有元素
lrange py11 0 -1
3 刪除
3.1 刪除指定元素:
將表中前count次出現(xiàn)的值為value的元素全都移除
count>0從頭開(kāi)始往尾移除
count<0從尾開(kāi)始向頭移除
count=0移除所有
lrem key count value
例如:向列表'py12'中加入元素'h0'、'h1'、'h2'、'h0'、'h1'、'h3'、'h0'、'h1'
rpush list3 'h0' 'h1' 'h2' 'h0' 'h1' 'h3' 'h0' 'h1'
從'py12'列表右側(cè)開(kāi)始刪除2個(gè)'h0'
lrem py12 -2 h0
查看列表'py12'的所有元素
lrange 'py12' 0 -1
set類(lèi)型命令:
無(wú)序集合,元素為string類(lèi)型,元素唯一。
對(duì)于集合沒(méi)有修改操作。
1 增加 添加元素
sadd key member1 member2 ...
例如:向py21的集合里添加元素 yg xin yzp
sadd py21 yg xin yzp
2 獲取 返回所有的元素
smembers key
例如:獲取py21的所有元素
smembers py21
3 刪除 刪除指定元素
srem key member
例如:刪除py21中的yzp
srem py21 yzp
zset類(lèi)型命令:
sorted set 有序集合,元素為string,元素唯一
每個(gè)元素有一個(gè)double類(lèi)型的score,表示權(quán)重,zset內(nèi)元素會(huì)按照權(quán)重從小到大排序
zset沒(méi)有修改操作
1 增加
zadd key score1 member1 score2 member2 ...
例如:向py31集合中添加gj hr yg xin 權(quán)重分別是1 5 8 3
zadd py31 1 gj 5 hr 8 yg 3 xin
2 獲取
2.1 返回指定范圍內(nèi)的元素
start stop為元素下標(biāo),左邊第一個(gè)為0,右邊第一個(gè)為-1
zrange key start stop
例如:獲取py31的所有元素
zrange py31 0 -1
2.2 返回score值在min和max之間的成員
zrangebyscore key min max
例如:返回py31集合中權(quán)值在4到9之間的數(shù)據(jù)
zrangebyscore py31 4 9
2.3 返回成員member的score值
zscore key member
例如查看py31中yg的權(quán)值
zscore py31 yg
3 刪除:
3.1 刪除指定元素
zrem key member1 member2 ...
例如:刪除py31中的yg
zrem py31 yg
3.2 刪除權(quán)重在指定范圍內(nèi)的元素
zremrangebyscore key min max
例如:刪除py31中權(quán)值在4到9之間的元素
zremrangebyscore py31 4 9
redis是key-value的數(shù)據(jù)結(jié)構(gòu),每條數(shù)據(jù)都是一個(gè)鍵值對(duì)。
鍵的類(lèi)型是字符串并且鍵不能重復(fù)。
redis最基本數(shù)據(jù)類(lèi)型是string 所以下面的操作可以省略引號(hào)"" 編譯器能夠當(dāng)作字符串來(lái)識(shí)別我們的命令
值的類(lèi)型分為五種:
1 字符串string
2 哈希hash
3 列表list
4 集合set
5 有序集合zset
string類(lèi)型命令:
1 增加、修改: 如果設(shè)置的鍵不存在則添加,如果存在則修改
1.1 設(shè)置鍵值
set key value
例如: 添加鍵py1 值為gj
set "py1" "gj"
1.2 設(shè)置鍵值及過(guò)期時(shí)間:以秒為單位,過(guò)期后數(shù)據(jù)自動(dòng)刪除
setex key seconds value
例如:設(shè)置鍵py2 的值為hr 3秒后過(guò)期
setex "py2" 3 "hr"
1.3 設(shè)置多個(gè)鍵值:
mset key1 value1 key2 value2 ....
例如:設(shè)置鍵py3值為dx 鍵py4值為xd 鍵py5值為nd 鍵py6值為bg
mset "py3" "dx" "py4" "xd" "py5" "nd" "py6" "bg"
1.4 追加值: 在值后追加字符串
append key value
例如:向鍵py1 追加haha
append "py1" "haha"
2 獲取:
2.1 根據(jù)鍵獲取值,如果不存在返回null
get key
例如:獲取py1的值
get "py1"
2.2 根據(jù)多個(gè)鍵,獲取多個(gè)值
mget key1 key2 key3 ...
例如:獲取py3 py4 py5 py6 的值
mget "py3" "py4" "py5" "py6"
3 刪除:刪除鍵的時(shí)候會(huì)刪除值
del key1 key2 key3 ...
鍵命令:
1 查找鍵,參數(shù)通配符查找
keys patern
例如:查看所有的鍵
keys *
例如:查看所有包含a的鍵
keys "*a*"
2 判斷鍵是否存在,存在返回1 否則返回0
exists key
例如: 判斷py1鍵是否存在
exists "py1"
3 查看鍵對(duì)應(yīng)的value的類(lèi)型
type key
例如:查看py1的值的類(lèi)型
type "py1"
4 刪除鍵對(duì)應(yīng)的值
del key1 key2 ....
例如:刪除鍵'py3'、'py4'、'py5'、'py6'
del 'py3' 'py4' 'py5' 'py6'
5 設(shè)置過(guò)期時(shí)間,以秒為單位。如果沒(méi)有指定過(guò)期時(shí)間,則一直存在,直到使用del移除
expire key seconds
例如:設(shè)置py1的過(guò)期時(shí)間為10秒
expire "py1" 10
6 查看有效時(shí)間 秒為單位,已經(jīng)失效則返回-2
ttl key
例如:查看py2的有效時(shí)間
ttl py2
hash類(lèi)型命令:
hash用于存儲(chǔ)對(duì)象,對(duì)象結(jié)構(gòu)為屬性、值。即 鍵值對(duì)中值是屬性、值的組合。值的類(lèi)型是string
1 增加、修改
1.1 設(shè)置單個(gè)屬性
hset key field value
例如:設(shè)置py2的屬性name為hr
hset "py2" name hr
1.2 設(shè)置多個(gè)屬性
hmset key field1 value1 field2 value2 ...
例如:設(shè)置py3的屬性name為dx 屬性gender為1 屬性birthday為2017-1-1
hmset py3 name dx gender 1 birthday 2017-1-1
2 獲取
2.1 獲取指定鍵的所有屬性
hkeys key
例如:獲取py3的所有屬性
hkeys py3
2.2 獲取一個(gè)屬性的值
hget key field
例如:獲取py2屬性name的值
hget py2 name
2.3 獲取多個(gè)屬性值
hmget key field1 field2 ....
例如:獲取py3屬性name gender 和birthday
hmget py3 name gender birthday
2.4 獲取所有屬性
hvals key
例如:獲取py3的所有屬性的值
hvals py3
3 刪除:
3.1 刪除整個(gè)hash鍵值使用del命令
del key
3.2 刪除屬性
hdel key field1 field2...
例如:刪除py3的屬性gender birthday
hdel py3 gender birthday
list類(lèi)型命令:
列表的元素類(lèi)型為string
按照插入順序排序
1 增加
1.1 在左側(cè)插入數(shù)據(jù)
lpush key value1 value2 ...
例如:從鍵py11的左側(cè)插入數(shù)據(jù)dx xd
lpush py11 dx xd
1.2 在右側(cè)插入數(shù)據(jù)
rpush key value1 value2 ...
例如:從py11右側(cè)插入nd bg
rpush py11 nd bg
1.3 在指定元素的前或后插入新元素
linsert key before/after 現(xiàn)有元素 新元素
例如:在py11的列表中nd前加入zbt
linsert py11 before nd zbt
2 獲取
2.1 返回列表里指定范圍元素:
start、stop為元素的下表索引
索引從左側(cè)開(kāi)始第一個(gè)元素為0
索引可以使負(fù)數(shù),從尾部開(kāi)始,-1代表最后一個(gè)元素
lrange key start stop
例如:獲取py11的列表所有元素
lrange py11 0 -1
3 刪除
3.1 刪除指定元素:
將表中前count次出現(xiàn)的值為value的元素全都移除
count>0從頭開(kāi)始往尾移除
count<0從尾開(kāi)始向頭移除
count=0移除所有
lrem key count value
例如:向列表'py12'中加入元素'h0'、'h1'、'h2'、'h0'、'h1'、'h3'、'h0'、'h1'
rpush list3 'h0' 'h1' 'h2' 'h0' 'h1' 'h3' 'h0' 'h1'
從'py12'列表右側(cè)開(kāi)始刪除2個(gè)'h0'
lrem py12 -2 h0
查看列表'py12'的所有元素
lrange 'py12' 0 -1
set類(lèi)型命令:
無(wú)序集合,元素為string類(lèi)型,元素唯一。
對(duì)于集合沒(méi)有修改操作。
1 增加 添加元素
sadd key member1 member2 ...
例如:向py21的集合里添加元素 yg xin yzp
sadd py21 yg xin yzp
2 獲取 返回所有的元素
smembers key
例如:獲取py21的所有元素
smembers py21
3 刪除 刪除指定元素
srem key member
例如:刪除py21中的yzp
srem py21 yzp
zset類(lèi)型命令:
sorted set 有序集合,元素為string,元素唯一
每個(gè)元素有一個(gè)double類(lèi)型的score,表示權(quán)重,zset內(nèi)元素會(huì)按照權(quán)重從小到大排序
zset沒(méi)有修改操作
1 增加
zadd key score1 member1 score2 member2 ...
例如:向py31集合中添加gj hr yg xin 權(quán)重分別是1 5 8 3
zadd py31 1 gj 5 hr 8 yg 3 xin
2 獲取
2.1 返回指定范圍內(nèi)的元素
start stop為元素下標(biāo),左邊第一個(gè)為0,右邊第一個(gè)為-1
zrange key start stop
例如:獲取py31的所有元素
zrange py31 0 -1
2.2 返回score值在min和max之間的成員
zrangebyscore key min max
例如:返回py31集合中權(quán)值在4到9之間的數(shù)據(jù)
zrangebyscore py31 4 9
2.3 返回成員member的score值
zscore key member
例如查看py31中yg的權(quán)值
zscore py31 yg
3 刪除:
3.1 刪除指定元素
zrem key member1 member2 ...
例如:刪除py31中的yg
zrem py31 yg
3.2 刪除權(quán)重在指定范圍內(nèi)的元素
zremrangebyscore key min max
例如:刪除py31中權(quán)值在4到9之間的元素
zremrangebyscore py31 4 9
轉(zhuǎn)載于:https://www.cnblogs.com/Lin-Yi/p/7385492.html
總結(jié)
以上是生活随笔為你收集整理的redis数据库各种数据类型的增删改查命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sql server数据库查询超时报错
- 下一篇: Ext JS - Combobox 加载