课程目录
-
通用命令
- 通用命令
- 数据结构和内部编码
- 单线程架构
-
数据类型
- 字符串类型
string
- 哈希类型
hash
- 列表类型
list
- 集合类型
set
- 有序集合类型
zset
- 字符串类型
一、通用命令
-
keys
: [keys * 遍历所有的key
]- keys 命令一般不在生产环境使用。它会遍历所有的key, 会造成堵塞
-
dbsize
: 查看所有的键值总数 -
exists key
: 判断key是否存在存在返回1 不存在返回0
-
del key[key...]
: 删除key -
expire key seconds
: 为key设置过期时间
- image.png
-
type key
: 查看key的数据类型
时间复杂度
image.png二、数据结构和内部编码
image.png image.png三、单线程
所有的命令都进入一个队列中、等待redis依次执行、redis一次只会执行一个命令
*单线程要注意什么
- 一次只运行一条命令
- 拒接长(慢)命令
keys,flushall,flushdb,slow lua script, mutil/exec, operate , big value(collection )
- 其实不是单线程
fysnc file descriptor
close file descriptor
四、 字符串
value 最大512mb
使用场景
- 缓存
- 计数器
- 分布式锁
常用命令
image.png image.pngredis作为缓存的流程
image.pngredis作为分布式ID生成器
image.pngSET 操作
mget,mset操作
image.png image.png image.png image.png五、 哈希
image.png image.png重要api
所有hash的命令都是以h开头
记录网站每个用户个人主页的访问量
hincrby user:1:info pageview count
字符串和hash的对比
五、 List
特点
- 有序
- 可以重复
- 左右两边插入弹出
api 方法以H开头
image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png六、 SET
特点
- 无序
- 没有重复元素
- 支持集合间操作
所有操作都以s开头
网友评论