1.keys 查询所有的键

支持正则表达式:


keys一般不在生产环境中使用,因为在生产环境中,key会特别多(上百万),keys是一个很重的命令
那么keys怎么用呢???
- 热备从节点:从节点不执行业务,可以在从节点上执行一些比较重的命令
- scan命令,后面会学习
2.dbsize 计算key的总数

3.exists key 检查key是否存在

4.del key [key ...] 删除key

删除多个值:

5.expire key seconds 设置过期时间,key在seconds秒后过期
ttl key 查看key剩余的过期时间

persist key 去掉key的过期时间

6.type key 查看key的类型

各个命令的时间复杂度:
| 命令 | 时间复杂度 |
| keys | O(n) |
| dbsize | O(1) |
| del | O(1) |
| exists | O(1) |
| expire | O(1) |
| type | O(1) |
数据结构和内部编码:

单线程:

单线程为什么这么快???
1.纯内存
2.非阻塞IO
使用多路复用

3.避免线程切换和竞态消耗
单线程需要注意什么呢?
1.一次只运行一条命令
2.拒绝长(慢)命令
keys,flushall,flushdb,slow lua script,mutil/exec,operate big value(collection)
401

被折叠的 条评论
为什么被折叠?



