redis數(shù)據(jù)類型
指令
- 字符串
set key value
get key
getrange key start end
字符串提取谋币,字符串從0開始棺克,包含start和end
getset key value
設(shè)置key的值,返回的是舊值咒吐,新值會(huì)設(shè)置成功
setex key seconds value
設(shè)置key的值野建,過(guò)期時(shí)間為seconds,如果存在恬叹,替換之候生,時(shí)間以s為單位
setnx key value
該key不存在的時(shí)候才設(shè)置,存在不設(shè)置
setrange key offset value
將該key對(duì)應(yīng)的值從offset開始替換為value
strlen key
得到該key對(duì)應(yīng)的值的長(zhǎng)度
mset
mset key1 value1 key2 value2 key3 value3
同時(shí)設(shè)置多個(gè)鍵值對(duì)
msetnx
同時(shí)設(shè)置多個(gè)鍵值對(duì)绽昼,將鍵不存在的時(shí)候才設(shè)置
psetex key time value
設(shè)置鍵值對(duì)唯鸭,時(shí)間以ms為單位
incr key
為key對(duì)應(yīng)的值增加1
如果key不存在,那么先創(chuàng)建這個(gè)key硅确,值為0目溉,然后設(shè)置為1
如果key對(duì)應(yīng)的是字符串明肮,那么報(bào)錯(cuò)
incrby key number
在指定的key對(duì)應(yīng)的值加incre_amount
decr key
減一
decrby key number
減去指定的數(shù)量
append key value
在指定的key對(duì)應(yīng)的值后面追加value
mget
一次獲取多個(gè)鍵的值
- 哈希(對(duì)象)
hset key field value
給對(duì)應(yīng)的key設(shè)置屬性和屬性值
hsetnx key field value
該key中不存在的field才設(shè)置為value
hget key field
獲取指定key的field屬性
hdel key field1 field2
刪除對(duì)應(yīng)key中指定的屬性
hexists key field
對(duì)應(yīng)的key中是否存在這個(gè)屬性,存在返回1缭付,不存在返回0
hgetall key
獲取這個(gè)key對(duì)應(yīng)的所有的屬性和值
hincrby key field number
給這個(gè)key對(duì)應(yīng)的屬性值加減number
hincrbyfloat key field number
給這個(gè)key對(duì)應(yīng)的屬性值加減number,number為float值
hkeys key
對(duì)應(yīng)的key中所有的屬性名
hvals key
對(duì)應(yīng)的key中所有的值
hlen key
對(duì)應(yīng)的key有多少個(gè)屬性
hmset key field1 value1 field2 value2 ...
同時(shí)為key設(shè)置多個(gè)屬性和屬性值
hmget key field1 field2 ...
同時(shí)獲取key的多個(gè)屬性的值
- 列表 list 隊(duì)列
lpush key value1 value2
依次將value1和value2從左邊插入到隊(duì)列key中
lrange key start stop
依次的顯示隊(duì)列key中從start開始到stop結(jié)束的所有元素
start 0柿估。。蛉腌。官份。 stop -1代表最后一個(gè)
lpushx key value
當(dāng)隊(duì)列key存在的時(shí)候才往隊(duì)列頭部插入數(shù)據(jù),如果隊(duì)列不存在烙丛,插入失敗
lpop key
彈出隊(duì)列key中最左邊的元素
rpush key value1 value2
將value從右邊插入到隊(duì)列key中
rpushx key value
將value從右邊插入到隊(duì)列key中,但是前提是隊(duì)列key必須存在
rpop key
將隊(duì)列key中最右邊的元素彈出
rpoplpush src dst
將隊(duì)列src中最右邊的元素插入到隊(duì)列dst中的最左邊
ltrim key start stop
將隊(duì)列中start-stop區(qū)間之外的所有元素全部干掉
閉區(qū)間
lset key index value
將隊(duì)列key中的第index個(gè)元素設(shè)置為value
下標(biāo)從0開始
llen key
得到隊(duì)列key中元素的個(gè)數(shù)
lindex key index
獲取隊(duì)列key中第index個(gè)元素
lrem key count value
count > 0 從最左邊開始羔味,干掉count個(gè)和value相等的元素
count < 0 從最右邊開始河咽,干掉-count個(gè)和value相等的元素
count = 0 干掉隊(duì)列key中所有和value相等的元素
linsert key before|after value newvalue
在隊(duì)列key中的value的前面或者后面插入newvalue
- 集合
無(wú)序性、唯一性
sadd key value1 value2 value3
往集合key中插入多個(gè)值
scard key
得到集合中元素的個(gè)數(shù)
smembers key
查看集合key中所有的元素
sdiff key1 key2 key3
保留key1中key2和key3沒(méi)有的元素
key1不變赋元,結(jié)果返回給你
sdiffstore dst key1 key2 key3
將這個(gè)(sdiff key1 key2 key3)的結(jié)果保留到集合dst中
sinter key1 key2
取出key1和key2的交集
sinterstore dst key1 key2
將sinter key1 key2的結(jié)果保存到集合dst中
sismember key value
判斷value在不在集合key中忘蟹,在的話返回1,不在的話返回0
smove src dst value
將集合src中的value元素移動(dòng)到集合dst中
spop key
從集合key中隨機(jī)彈出一個(gè)元素
srandmember key count
count > 0 count < 集合元素個(gè)數(shù): 返回你一個(gè)數(shù)組搁凸,而且數(shù)組元素唯一
count > 集合元素個(gè)數(shù):返回你該集合中所有的元素
count < 0:返回給你-count個(gè)元素媚值,但是不保證唯一
srem key value1 value2 ...
移除集合key中的value1和value2元素
sunion key1 key2
得到集合key1和集合key2的并集
sunionstore dst key1 key2
將集合key1和集合key2的并集保存到dst中
- 有序集合
zadd key score member
將分值為score的成員member加入到有序集合key中
zcard key
得到集合key中元素的個(gè)數(shù)
zcount key start stop
得到集合key中分值在start到stop之間的元素的個(gè)數(shù)
閉區(qū)間 [start stop] 這個(gè)寫分值
zincrby key number member
給集合key中指定的member元素的分值加上number
zrange key start stop [withscores]
顯示集合中的元素 start和stop是下標(biāo) 0 -1
顯示成員的時(shí)候可以顯示分值
zrangebyscore key min max
按照區(qū)間去查找對(duì)應(yīng)的元素 min和max 是分值
【注】前面的只能寫數(shù)字,肯定是大于等于护糖,后面的可以寫開區(qū)間褥芒,不寫默認(rèn)就是閉區(qū)間
0 (100 0<= <100
0 100 0<= <=100
默認(rèn)升序排列好
zrank key member
從低到高排列,下標(biāo)從0開始
查找member在有序集合key中的排名 顯示的是下標(biāo)
zrem key member1 member2
移除有序集合中指定的元素
zrevrange key start stop withscores
查詢從start到stop之間所有的元素,但是是從大到小排列
zrevrank key member
用法和zrank一樣嫡良,但是是從大大小排列的順序
【注】得到的是下標(biāo)
zrevrangebyscore key max min
根據(jù)成績(jī)從高到低排序锰扶,得到指定分值區(qū)間的成員
ZREVRANGEBYSCORE salary +inf -inf # 逆序排列所有成員
zscore key member
返回指定成員的分?jǐn)?shù)
- 鍵命令
0-15:redis默認(rèn)有16個(gè)數(shù)據(jù)庫(kù),默認(rèn)是在第0個(gè)數(shù)據(jù)庫(kù)中操作
select num:切換數(shù)據(jù)庫(kù)
keys *:所有鍵
del key:刪除鍵
EXPIRE key seconds:給指定的key添加過(guò)期時(shí)間寝受,單位是s
ttl key:以秒為單位坷牛,返回這個(gè)鍵剩余的時(shí)間秒數(shù)
exists key:判斷一個(gè)鍵是否存在
flushdb: 刪除當(dāng)前數(shù)據(jù)庫(kù)中所有的鍵
flushall:刪除所有數(shù)據(jù)庫(kù)中的所有鍵
rename key newkey #修改key的名稱(如果新的key的名字存在 則會(huì)把存在的key的值 覆蓋掉)
randomkey #隨機(jī)返回一個(gè) key
move key db 將指定鍵移動(dòng)到指定庫(kù)