目錄
一:基本操作
二:字符串(String)
三:哈希(Hash)
四:列表(List)
五:集合(Set)
六:有序集合(Zset)
一:基本操作
set key1 123 (設置鍵值對 key1:123)
get key1(獲取key1的value值)
keys key* ,keys key?,keys key[12](匹配符合開頭是key的鍵,*代表任意字符,?代表單個字符,[12]代表只能匹配key1或key2)
exists key(是否存在key)
del key(刪除key)
ttl key(查看key的過期時間)
pttl key(查看key的毫秒過期時間)
type key(查看key的類型)
Object encoding key(獲取key的內部編碼方式)
二:字符串(String)
mset key1 10 key2 29 key3 30 (批量設置key1,key2,key3)
mget key1 key2 key3(批量獲取key1,key2,key3)
setnx key1 1(key1不存在設置成功,key1存在設置失敗)
set key1 1 xx(key1存在設置成功,不存在設置失敗)
setex key1 10 value(設置key1并設置過期時間10秒)
psetex key1 10000 value(設置key1過期時間10000毫秒)
incr key(將key的value值+1,如果key不存在value視為0,只能對整數操作,如果不是整數會報錯)
incrby key 10(將key的value加10,如果key不存在value視為0,只能對整數操作,如果不是整數會報錯)
decr key(將key的value值-1,如果key不存在value視為0,只能對整數操作,如果不是整數會報錯)
decrby key 10(將key的value減10,如果key不存在value視為0,只能對整數操作,如果不是整數會報錯)
incrbyfloat key 1.23(將key的值增加1.23,如果key不存在視為0,如果 key 對應的不是 string,或者不是?個浮點數,則報錯。允許采?科學計數法表?浮點數)
append key? qwe(將qwe追加到key的value的后面,如果不存在key等同于set)
getrange key 1 3(獲取key的value下標為1到3位置的字符串)
getrange key 0? -1(獲取key的value下標為0到len-1位置的字符串)
setrange key 1 fad(從偏移量1開始設置字符串fad)
strlen key(獲取key的長度,如果key不是字符串報錯)
三:哈希(Hash)
hset map key1 ?10(插入hash鍵值對key1 : 10,map是redis中的key)
hget map key1(獲取map中key1的value值)
hexists map key1(判斷hash中是否有key1字段)
?hdel map key1 key2(刪除hash中的key1,key2)
hkeys map(獲取hash中的所有字段)
hvals map(獲取hash中的所有值)
hgetall map(獲取所有hash中的所有字段和值)
hmget map key1 key2 key3(一次獲取hash中多個字段的值)
hlen map(獲取hash中所有字段的個數)
hsetnx map key1 ddd(如果map中key1不存在設置ddd成功,如果key1存在則設置ddd失敗)
hincrby map key1 10(將 map?中key1對應的數值添加整數10)
hincrbyfloat map key1 1.24(將map中key1對應數值添加浮點數1.24)
四:列表(List)
lpush mylist 1 2 3 1 5(將1 2 3 1 5按照頭插的方式插入mylist中)
lrange mylist 0? -1(獲取下標為0到len-1的所有元素)
lpushx list aa ?dd (如果list存在則頭插aa dd 如果不存在則直接返回什么都不插入)
rpush?mylist 1 2 3 1 5(將1 2 3 1 5按照尾插的方式插入mylist中)
rpushx?list aa ?dd( 如果list存在則尾插aa dd 如果不存在則直接返回什么都不插入)
lpop mylist(從mylist左側取出元素,頭刪)
rpop mylist(從mylist右側取出元素,尾刪)
lindex mylist 1(從mylist中獲取從左數下標為1的元素)
linsert mylist before I love(在mylist的I前插入love,如果不存在I,則返回)
linsert mylist after?I love(在mylist的I后插入love,如果不存在I,則返回)
llen mylist (獲取mylist的長度)
lrem list 1 value(從左移除一個值為value的元素,正數為從左)
lrem list -1 value(從右移除一個值為value的元素,負數為從右)
lrem list 0 value(移除所有值為value的值,0為移除所有)
ltrim list 1 3(只保留list中下標為1到3的元素)
lset list 1 hello(將list下標為1的值設置為hello)
blpop list 10(如果list中有元素,與lpop相同,如果沒元素,阻塞十秒,十秒內有元素插入了從左彈出元素,十秒后還沒元素插入返回nil)
brpoplist 10(如果list中有元素,與rpop相同,如果沒元素,阻塞十秒,十秒內有元素插入了從右彈出元素,十秒后還沒元素插入返回nil)
五:集合(Set)
sadd myset q w r t e y q q q(向集合中添加q w t e y 重復元素不會被重復添加)
smembers myset(從集合中獲取所有的元素)
sismember myset q(判斷myset集合中存不存在q元素)
spop myset 2(從myset集合中隨機彈出兩個元素,如果不指定數量則彈出一個)
srandmember myset 3(從myset集合中隨機返回三個元素,不指定數量只返回一個)
scard myset(統計myset集合中有多少個元素)
smove myset yourset w(將w元素從myset集合中移動到yourset集合中)
srem yourset d(將元素d從yourset集合中刪除)
sinter myset yourset(將myset集合和yourset集合取交集)
sinterstore?resultset myset yourset(將myset和yourset取到交集的元素放到resultset中)
sunion myset yourset(將myset集合和yourset集合取并集)
sunionstore resultset myset yourset(將myset和yourset取到并集的元素放到resultset中)
sdiff myset yourset(將myset集合和yourset集合取差集,myset-yourset)
sdiffstore?resultset myset yourset(將myset和yourset取到差集的元素放到resultset中)
六:有序集合(Zset)
zadd myzset 3 hello 5 world(向有序集合myzset中添加元素hello分數3,元素world分數5)
zcard myzset(返回myzset有序集合中的元素個數)
zcount myzset 3 5?(返回分數在3 和5之間(包含3和5)的元素的個數)
zrange myzset 0 1 [withscores](返回myzset集合中在0到1區間的元素,按照分數升序返回)
zrevrange myzset 0 -1 [withscores](返回在myzset集合中在0到 len-1區間的元素,按照分數降序返回)
?zrangebyscore myzset 3 5 [withscores](返回在myzset集合中分數在3到5之間的元素)
zpopmax myzset 2(彈出myzset集合中分數最高的兩個元素,如果不指定數量只彈出一個)
bzpopmax myzset 10(彈出myzset集合中分數最高的元素,如果集合中沒有元素則阻塞10秒,如果十秒內添加進新的元素,則彈出,否則返回nil)
zpopmin?myzset 2(彈出myzset集合中分數最低的兩個元素,如果不指定數量只彈出一個)
bzpopmin?myzset 10(彈出myzset集合中分數最低的元素,如果集合中沒有元素則阻塞10秒,如果十秒內添加進新的元素,則彈出,否則返回nil)
zrank myzset t(返回myzset有序集合中t元素的排名(升序))
zrevrank?myzset t(返回myzset有序集合中t元素的排名(降序))
zscore myzset t(返回myzset有序集合中t元素的分數)
zrem myzset t q(刪除myzset有序集合中的t元素和q元素)
zremrangebyrank myzset ?0 2(刪除在按照升序排序的有序集合中,區間在0到2之間的元素)
zremrangebyscore myzset 6 7(刪除myzset有序集合中分數在[6,7]之間的元素)
zincrby yourzset 5 hello(向有序集合yourzset中hello元素的分數增加5)
zinterstore result 2 myzset yourzset weights 2 3 aggregate sum(將myzset與yourzset的交集按照權重與分數相乘再相加的方式將結果放入result有序集合中)
?
zunionstore與上相同?