通用命令
keys:查看符合模版的所有key,不建议在生产环境设备上使用
del:删除(可批量)
exists:判断key是否存在
expire:给一个key设置有效期,有效期到期时该key会被自动删除
ttl:查看一个key的剩余有效期
通过help [command]可以查看一个命令的具体用法
String类型
set:添加或者修改已经存在的一个string类型键值对
get:根据key获取string类型的value
mset:批量添加多个String类型的键值对
mget:批量获取多个String类型的value值
incr:让一个整形的key自增
incrby:让一个整形的key自增并指定步长
incrbyfloat:让一个浮点类型的数字自增并指定步长
setnx:添加一个String类型的键值对,前提是这个key不存在,否则不执行
setex:添加一个string类型的键值对,并指定有效期
key的结构
redis的key允许有多个单词形成层级结构,多个单词之间用':'隔开
String存的值都是字符串,只是运算时会解析
Hash类型
hset key field value:添加或者修改hash类型key的field的值
hget key field:获取一个hash类型key的field值
hmset:批量添加或者修改hash类型key的field的值
mget:批量获取hash类型key的field值
hgetall:获取一个hash类型的key中的所有的field和value
hkeys:获取一个hash类型的key中的所有field
hvals:获取一个hash类型的key中的所有value
hincrby:让一个hash类型key的字段值自增并指定步长
hsetnx:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行
List类型
lpush key element:向列表左侧插入一个或者多个元素
lpop key:移除并返回列表左侧的第一个元素,没有则返回nil
rpush key element:向列表右侧插入一个或者多个元素
rpop key:移除并返回列表右侧的第一个元素,没有则返回nil
lrange key star end:返回一段角标范围内的所有元素
blpop和brpop:与lpop和rpop类似,只不过没有元素时等待制定时间,而不是直接返回nil
set类型
支持交集,并集,差集
sadd key member:向set中添加一个或多个元素
srem key member:移除set中的指定元素
scard key:返回set中元素的个数
sismemeber key member:判断一个元素是否存在于set中
smembers:获取set中所有元素
sinter key1 key2 ...:求key1,key2的交集
sdiff key1 key2 ...::求key1,key2的差集
sunion key1 key2 ...:求key1,key2的并集
sortedset类型
经常用于排行榜功能
zadd key score member:添加一个或多个元素到sorted set,如果已经存在则更新其score值
zrem key member:删除sorted set中的一个指定元素
zscore key member:获取指定元素的score值
zrank key member:获取指定元素的排名
zcard key:获取元素个数
zcount key min max:统计score值在给定范围内的所有元素个数
zincrby key increment member:指定元素自增,步长为increment值
zrange key min max:按照score排序后,获取指定排名范围内的元素
zrangebyscore key min max:按照score排序后,获取指定score范围内的元素
zdiff、zinter、zunion:求差集、交集、并集
所有排名默认都是升序,如果要降序则在命令的z后面添加rev即可