前言接着是前面Linux和Docker下的安装和配置。我很快又来了。真的很快。主要原因是前两篇比较简单。对于编程来说,一开始总是容易的,但是真正理解起来就没那么简单了,对吧兄弟们。这篇文章也需要好兄弟们去实践。别偷懒,好兄弟。毕竟,高楼拔地而起。相信好兄弟都明白道理。OKOK、丸子冲击、rush...1准备工作Redis提供了五种基本的数据结构,提供的API也各不相同。在操作其对应的API之前,我们需要了解Redis的全局命令、数据结构及其单线程命令执行机制。这些对以后掌握Redis有很大的帮助。各位好兄弟真是不偷懒啊,我还没有安装Redis,赶紧看我之前的文章开始吧,安装好的重装按照我之前的文章重新安装,毕竟好兄弟不一定安装正确。2什么是全局命令?你不知道什么是全局命令。嗯,Redis是基于键值存储的。有些命令特定于某种数据结构,但有些命令适用于所有数据结构。它们基本上用在按键上。这些命令是全局命令。发起攻击...2.1查看所有keyskeys*2.2查看keys总数dbsize需要注意的是dbsize直接获取的是Redis内置的keys总数变量,所以dbsize命令的时间复杂度为O(1).keys命令会遍历所有的key,所以它的时间复杂度是O(n)。Redis保存大量key时,生产环境好的兄弟不要乱用。应该阻止此命令。Redis可谓是噩梦。2.3检查key是否存在key2.4删除一些key##一个也是一些delkey[key...]##示例delabc2.5设置过期时间##时间到期后,key会被删除,当然不是马上,过期再说expirekey秒##新增keyvaluesettesthello##设置key为test的key的过期时间为20秒expiretest202.5获取key类型的数据结构类型key##获取测试的类型并返回正常应该是字符串类型test2.5获取key类型的数据结构类型key##获取测试的类型,正常返回应该是字符串类型test3应该在数据结构中放一张图片是没有问题的。好兄弟应该能看懂,毕竟都是豪门。4单线程模型4.1比较前文提到,Redis采用单线程架构和I/O多路复用模型实现了一个高性能的内存数据库。我们平时写的Http接口可以理解为单线程的,这样当请求发送到服务端时,客户端会阻塞等待服务端返回结果。另一方面,Redis将命令放入队列中并按顺序执行它们。好兄弟看图说话。4.2为什么单线程模式下可以?不过和第一章说的可能有点出入,但还是很有必要的。了解面试的伪装和恐惧。反手是一门本领,好吗?存储和内存操作是基于非阻塞I/O的,epoll作为I/O多路复用技术的实现,基本是事件驱动。关于epoll、poll、select可以参考RedisI/O多路复用,后面会详细讲。单线程避免了多线程下竞争条件带来的消耗。兄弟们想想多线程会带来什么问题。如何解决。末尾再来一张图,好兄弟们先了解一下吧,后面再详细说。本期内容到此结束。如有不妥之处,欢迎在评论区留言。另外,$\color{#FF0000}{求关注,请点赞}$下一篇:Redis字符串API,应用场景分析上一篇:Linux和Docker下安装配置
