通用命令
- keys:查看所有的key 复杂度o(n)
- dbsize:计算key的总数,复杂度O(1)
- exists:检查key是否存在,复杂度O(1)
- del:删除指定key-value, 复杂度O(1)
- expire key seconds:key 在second秒后过期, 复杂度O(1)
- ttl key:查看key多久过期 ,复杂度O(1)
- persist key:去掉key的过期时间, 复杂度O(1)
- type key:返回key的类型, 复杂度O(1)
数据结构和内部编码
单线程架构
单线程为什么这么快
* 纯内存
* 非阻塞IO
* 避免线程切换和竞态消耗
单线程注意什么
* 一次只运行一条命令
* 拒绝长(慢)命令
* 其实不是单线程
fysnc file descrptor
close file descriptor
5中数据结构
1.字符串
key value
hello world
counter 1
bits 1010101022
最大512M
场景
- 缓存
- 计数器
- 分布式锁
常见命令
get
set key value #不管key是否存在,都设置
setnx key value #key不存,才设置
set key value xx#key存在,才设置
del
incr o(1)
decr o(1)
incrby o(1)
decrby o(1)
发表回复