1、keys 遍历出所有的key
一般不在出产环境使用
2、dbsize key的总数
3、exists key
4、del key 删除指定key-value
5、expire key secods 设置几多秒过期
ttl 还剩几多秒过期
persist 打消过期时间
6、type 返回key的类型
二、单线程
一个次只能执行一个命令
拒绝长慢命令(keys等)
为什么单线程还这么快
1、纯内存(主要)
2、非梗阻IO
3、制止线程切换和竞态消耗
三、数据类型
1、字符串
类型:可以存字符串、整型、二进制、json等
巨细:可以存512M
场景:缓存、计数器
命令:
1.1、get、set、del
1.2、set k v 不管k是否存在,,都设置
setnx k v k不存在才设置
set k v xx k存在才设置
1.3、mset 批量设置
mget 批量获取
1.5
getset key newvalue 设置新的key并返回旧value
append key value 将value追加到旧的value
strlen key 返回字符串的长度(注意中文)
1.6
incrbyfloat 增加浮点数
getrange 获取字符串制定下标所有的值
setrange 设置指定下标所对应的值
1.7、适合做计数器,单进程无竞争
incr 自增1,如果key不存在为1
decr 自减1,如果key不存在为-1
incrby 自增k,如果key不存在为k
decrby 自减key,如果key不存在为-k
使用场景:缓存应用
2、哈希
一个键对应多个键值的布局,可以理解为小redis
哈希的API操纵都是以h开头
2.1、hset、hget、hdel
2.2
hexists key是否存在field
hlen key中field的总数
2.3
hmget 批量获取
hmser 批量设置
2.4
hgetall
2.5、hsetnx、hincrby、hincrbyfloat
使用场景
统计每个用户小我私家主页的访谒量
hincrby user:1:info pageview count
缓存储存视频根基信息
编程比拟:
第一种:将整体数据序列化存进字符串
第二种:将数据分袂存进字符串
第三种:将数据存进哈希
4、列表
有序、可反复、摆布两边可以插入弹出
列表的API都以L开头
4.1、增
rpush 从右边插入
lpush 从左边插入
linsert key before|after value newvalue在指定的值前后插入数据
4.2、删
lpop 从左弹出
rpop 从右弹
lrem key count value 按照count值,从列表中删除所有与balue相等的值
4.3、查
lrange
lindex
llen
4.4、改
lset
4.5、 查漏补缺
blpop
brpop
4.6、使用场景
微博时间轴
4.7、TIPS
1、栈
2、行列队伍
3、有固定数量的列表
5、调集
调集内不能反复、无序、撑持调集间操纵
5.1、调集内
使用场景
可以用在点赞、抽奖中
5.2、调集间
使用场景:
配合存眷、配合粉丝
6、有序调集
特点:
API
6.1、zadd 添加元素
6.2、zrem 删除元素
6.3、zscore 获取分数
6.4、zincrby 增加或减少分数
6.5、zcard 返回元素总个数
实例:
6.6、zrange 返回指定索引范畴内升序元素
6.7、zrangebyscore 返回制定分数范畴的升序元素
6.8、zermrangebyrank
6.9、zremrangbyscore 删除指定分数的升序元素
使用场景:排行榜