一、概述
命令不区分大小写,key区分大小写
数据类型针对value
String
List Set
Hash ZSet
bitmap GEO
HyperLogLog
Stream bitfield
二、String <K,V>
1、设值/取值
getrange key index1 index2
getrange key 0 -1//获取所有的值
SETRANGE KEY_NAME OFFSET VALUE
setrange key 0 xx //abcd -> xxcd
2、获取区间值/设置区间值
set key value
get key
mset key1 value1 key2 value2 key3 value3
mget key1 key2
3、数值增减
INCR key //加1
INCRBY key increment //INCRBY key1 3
DECR key
DECRBY key decrement//DECRBY key1 2
4、获取字符串长度
strlen key
5、内容追加
append key value//append key1 xxx abc->abcxxx
6、分布式锁
setex 键 秒值 真实值
setex key1 15 hello
setnx:只有在 key 不存在时设置 key 的值
7、getset 先get然后立即set
将给定 key 的值设为 value ,并返回 key 的旧值(old value)
二、List 一个key多个value 有序重复
底层为双向链表
1、lpush、lrange、lpop&rpop
lpush list1 v1 v2 v3 v4
lrange list1 0 -1
1)v4
2)v3
3)v2
4)v1
2、lindex
lindex key index
lindex list1 0
v4
list1
1)v4
2)v3
3)v2
4)v1
3、llen
llen list
llen list1
4
4、 lrem
LREM list3 0 值,表示删除全部给定的值。零个就是全部值
5、ltrim
6、lset key index value
替换值
7、linsert key before/after 已有值 插入的新值
8、rpoplpush 源列表 目标列表
三、Set 一个key多个value 无序不重复
四、Hash <K,<k,v>>
五、ZSet
key score1 v1 score2 v2 score3 v3
key1 30 v1 40 v2 50 v3
1、zrange key start stop [withscores]&zrevrange
按照分数从小到大返回区间元素
2、ZRANGEBYSCORE zset min max
ZCOUNT zset min max
获取指定分数范围内的元素
3、正序逆序获取下标索引值
4、ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count]
ZMPOP 移除个数 有序集合名 <MIN | MAX> [COUNT 限制数]
限制数默认为1