![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高并发
文章平均质量分 53
要看到武大四点钟天空的小石头
A son,a man,a coder,and a partner.
展开
-
Redis为什么这么快?
今天我在一个技术群里提出一个问题:Redis为什么这么快,Redis的那些特性能够支持了它的高并发?之前的我,也只是知道Redis是内存数据库,所以读取速度快;IO使用的是多路复用,使用一个线程来轮询描述符,减少了线程上下文的切换,将数据库的开、关、读、写都转化成了时间,所以IO时也有加速。虽然理解上就是这些(当然还有一些数据结构的原因,全程使用hash结构,加速读写) 突然想写下来原创 2016-04-27 13:04:54 · 15423 阅读 · 3 评论 -
Java并发编程的艺术(上)
ChapterOne 并发编程的挑战 1. 并发编程的目的是为了让程序更快速的运行,但是并不是启用更多的线程就能让程序最大限度的并发执行。2. 进行多线程并发编程时,会遇到许多挑战,列举三个:上下文切换、死锁、其他资源限制。3. 是否并发一定就比串行快? 例子:public class CurrencyTest { private static final long coun原创 2016-05-05 20:24:00 · 1985 阅读 · 4 评论 -
Redis内部数据结构的实现
还有两个多月就找工作了,决定把之前看的一些东西整理一下,做个记录,也整理一下最近的思路。Redis 作为一个基于key=>value的内存数据库,使用ANSI C语言实现,以其高性能和支持丰富的数据结构闻名于世,而其数据结构也是其高性能的基础,今天分享一下我对此的理解,并以redis3.2的正式版源码分析。在Redis内部,有非常多的数据结构:sds(简单动态字符串),list,i原创 2016-06-06 15:42:47 · 10903 阅读 · 4 评论 -
浅谈Linux的I/O模型
今天看了篇文章,在聊Linux下的I/O模型,也让我复习一下操作系统方面的知识,让我以后写网络I/O模型的时候也能够有所借鉴。具体的介绍就不说了,人家写的挺好。点击这里,可以看到:http://my.oschina.net/xianggao/blog/662803。 我主要想说一下我的理解,对于I/O模型,基本上所有的web应用都少不了。那么我想说一下对于几个服原创 2016-07-01 11:20:16 · 500 阅读 · 0 评论 -
浅谈生产者/消费者模型
最近看了一些源码(jdk的concurrent包),看了一本书(《大型网站技术架构》),从中发现了一个非常有用的模型:生产者/消费者模型。模型如下图:线程池:在concurrent包中,比较典型的就是线程池了,线程池的作用就是复用线程,通过限制线程的创建,来降低创建线程锁产生的开销。在JDK中,提供了便利且好用的创建线程池的类来供调用,你可以自定义调用ThreadPoolExe原创 2016-06-23 16:34:18 · 922 阅读 · 0 评论