目录
一:基本操作
二:字符串(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与上相同