redis为啥快
2016-09-10 08:23
411 查看
Redis的高并发和快速原因很多,总结一下几点:
1. Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快。
2. 再说一下IO,Redis使用的是非阻塞IO,IO多路复用,使用了单线程来轮询描述符,将数据库的开、关、读、写都转换成了事件,减少了线程切换时上下文的切换和竞争。
3. Redis采用了单线程的模型,保证了每个操作的原子性,也减少了线程的上下文切换和竞争。
4. 另外,数据结构也帮了不少忙,Redis全程使用hash结构,读取速度快,还有一些特殊的数据结构,对数据存储进行了优化,如压缩表,对短数据进行压缩存储,再如,跳表,使用有序的数据结构加快读取的速度。
5. 还有一点,Redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大。
最后,附两张图,让大家更加深刻的理解Redis的架构和内存模型:
1. Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快。
2. 再说一下IO,Redis使用的是非阻塞IO,IO多路复用,使用了单线程来轮询描述符,将数据库的开、关、读、写都转换成了事件,减少了线程切换时上下文的切换和竞争。
3. Redis采用了单线程的模型,保证了每个操作的原子性,也减少了线程的上下文切换和竞争。
4. 另外,数据结构也帮了不少忙,Redis全程使用hash结构,读取速度快,还有一些特殊的数据结构,对数据存储进行了优化,如压缩表,对短数据进行压缩存储,再如,跳表,使用有序的数据结构加快读取的速度。
5. 还有一点,Redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大。
最后,附两张图,让大家更加深刻的理解Redis的架构和内存模型:
相关文章推荐
- 为啥懒 Redis 是更好的 Redis
- 为啥redis快?
- 为啥 redis 使用跳表(skiplist)而不是使用 red-black?
- Redis系列-存储篇list主要操作函数小结
- 跟我学系列教程——《13天让你学会Redis》火热报名中
- Redis的安装、部署和与Spring Cache整合
- Hadoop、Spark、HBase与Redis的适用性讨论(全文)
- redis删除key
- Redis集群(1)-基础知识
- CentOS6.5 中安装单机版redis
- mac mamp环境中增加php-redis扩展
- Redis-发布订阅
- Spring RedisTemplate操作-全注解操作
- 阿里云Redis典型场景:如何构建可扩展通用排行榜系统
- 基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十七)【权限架构系统(基础框架搭建)】
- redis 服务器/客户端安装与配置
- Redis 高速缓存控件
- MySQL 简单存储过程实现Redis的INCR功能
- 豌豆夹Redis解决方案Codis安装使用
- Unbuntu环境下安装phpredis