Stella981 Stella981
4年前
Redis 单线程如何处理那么多的并发客户端连接?
为什么Redis是单线程的1.官方答案因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。IO多路复用技术redis采用网络IO多路复用技术来保证在多连接的
Wesley13 Wesley13
4年前
MongoDB 入门极简教程
安装MongoDBWindowns、Ubuntu17.10下安装MongoDB教程在此(https://my.oschina.net/kangvcar/blog/1559369)MongoDB帮助要想获取命令列表,在mongodb客户端中输入db.help(),将显示如下图
Wesley13 Wesley13
4年前
BIO、NIO、AIO 介绍和适用场景分析
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、同步阻塞的BIO在JDK1.4之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个serverSocket,然后在客户端启动socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否
Wesley13 Wesley13
4年前
1.5万star!界面酷炫、简单易用的数据库开源客户端
【导语】DBeaver是一款跨平台的数据库工具,界面友好,支持主题设置,关键字高亮,支持导出er图,支持多种数据库,企业版支持nosql数据库。简介你在日常开发工作中,对于数据库的使用,是否使用了不同的客户端工具?Oracle使用Sqldeveloper?MySQL使用Navicat?Redis使用AnotherRedisManager?或
Wesley13 Wesley13
4年前
TCP连接过程及报文解析
可能大家都听过TCP建立连接时需要经历三次握手和四次挥手的。那么具体的握手挥手的过程是怎么样的呢?这篇文章就通过WireShark抓包来了解TCP连接建立和断开的过程。实验方法:写一段简单的代码代码客户端和服务端,分别部署,让客户端主动像服务器发起连接,随后断开。让WireShark抓股这个过程中产生了哪些包,并对其分析。(注:Wire
Wesley13 Wesley13
4年前
Jade模板引擎入门教程
Jade是一款高性能简洁易懂的模板引擎,Jade是Haml的Javascript实现,在服务端(NodeJS)及客户端均有支持。功能客户端支持超强的可读性灵活易用的缩进块扩展代码默认经过编码处理以增强安全性编译及运行时的上下文错误报告命令行编译支持HTML5模式(使用!!!5文档类型)可选的内存缓存联合动态和静态标记类利用过滤器解析树
Stella981 Stella981
4年前
Redis客户端多线程跟多个连接不是一回事
先抱怨一波,大国庆节的放假前一天的下班前15分钟,通知让我加班,因为一个Redis的bug,而这个bug我在1个半小时之前刚听说了个大概,心里很不情愿;好了,说正事;问题现象:bug是这样的,两个线程同时请求Redis服务器,但是只有一个线程收到了回复,另一个线程卡死;拿到这个问题,我先是想了想到底怎么查,于是想了可能出问题的
Stella981 Stella981
4年前
Redis基础:持久化
什么是持久化?简单来讲就是将数据放到断电后数据不会丢失的设备中,也就是我们通常理解的硬盘上。Blog:博客园个人什么是持久化?简单来讲就是将数据放到断电后数据不会丢失的设备中,也就是我们通常理解的硬盘上。首先我们来看一下数据库在进行写操作时到底做了哪些事,主要有下面五个过程:客户端向服务端发送写操作(数据在客户端的内存中);
Stella981 Stella981
4年前
Redis几个问题总结
redis持久化策略redis是一个内存数据库,但是它提供了持久化机制。即把数据永久的存储在磁盘上。我们来看看这个redis保存数据的流程(1)客户端向服务端发送写操作(数据在客户端的内存中)。(2)数据库服务端接收到写请求的数据(数据在服务端的内存中)。(3)服务端调用write这个系统调用,将数据往磁盘上写(数据在系