1.全局命令
1. keys * 查看所有键
会遍历所有的键,线上禁止使用
2. dbsize 查看键总数
不会遍历所有键,直接获取内置键总数
3. exists key 检查键是否存在,1为存在,0位不存在
4. del key 删除键
返回删除个数,不存在的键返回0,支持删除多键
5. expire key seconds 支持添加键过期时间,超过时间自动删除
6. ttl 返回键的剩余时间 ttl key
大于0的整数,键剩余的过期时间
-1 键没设置过期时间
-2 键不存在
7. type key 键的类型结构,键不存在,返回none
8. object encoding key 查看内部编码
2.数据结构与内部编码
1.string
-- raw
-- int
-- embstr
2.hash
-- hashtable
-- ziplist
3.list
-- linkedlist
-- ziplist
4.set
-- hashtable
-- intset
5.zset
-- skiplist
-- ziplist
3.单线程架构
1. redis采用单线程架构和IO多路复用模型来实现高性能的内存数据库服务
2. 一条命令从客户端到达服务端不会立刻被执行,所有的命令会进入队列,依次执行
3. 两个客户端同时发送命令,不能确保执行顺序,但是确保每次只有一条命令在执行
4.单线程速度快的原因
第一:纯内存访问
第二:非阻塞IO,使用epoll实现IO复用,redis自身的事件处理模型将epoll中的连接,读写,关闭转化为事件,不在IO上浪费过多事件。
第三:单线程避免了线程切换和竞态产生的消耗
4.思维导图
以上思维导图是博主自己个人总结,转载请注明出处。
百度云盘 : Redis学习总结
提取码 : 8xi8
思维导图软件:XMind8 update7
本文章系博主原创,尊重博主辛劳成果,转载请注明出处,谢谢。