Redis安装
Redis的单线程和高性能
redis是单线程吗?
redis的单线程主要指redis的网络io和键值对读写是由一个线程来完成的,这也是redis对外提供键值存储服务的主要流程。但redis的其他功能,如:持久化,异步删除,集群数据同步等,其实由额外线程执行的。
redis单线程为啥还能这么快
所有数据都在内存中,运算都是内存级别的运算,而且单线程避免了多线程的切换性能损耗问题。
redis单线程如何处理多的并发客户端连接?
redis采用io多路复用:redis利用epoll来实现io多路复用,将连接信息和事件放到队列中,依次放到文件事件分派器,这个地方就是单线程了,发送给事件处理器后就排着队一条一条命令执行。
比较常见的数据结构
String
命令:
应用场景
如图:用户阅读量自增,获取用户数量
Hash
命令:
应用场景:
List
命令:
set
命令
场景:
![在这里插入图片描述](https://img-blog.csdnimg.cn/9af00f0b38b94520bf35cf9b906a05d0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGVlX2N1cnJ5,size_20,color_FFFFFF,t_70,g_se,x_16
zset
命令: