cpp288's blog

  • 首页

  • 标签

  • 分类

  • 归档

  • 公益 404

  • 搜索

Java NIO编程

2019-04-19 | java
| 本文字数: 11k | 阅读时长 ≈ 10 分钟

摘自《Netty权威指南》 Java NIO是 JDK1.4 引入的,弥补了原来BIO的不足 概念缓冲区 Buffer在 NIO 库中,所有数据都是用缓冲区处理的,任何时候访问 NIO 中的数据,都是通过缓冲区进行操作的。 最常用的缓冲区是 ByteBuffer,提供了一组功能用于操作byte数组, ...

阅读全文 »

Java BIO编程和伪异步I/O编程

2019-04-18 | 2019-04-19 | java
| 本文字数: 4.5k | 阅读时长 ≈ 4 分钟

摘自《Netty权威指南》 BIOBIO通信模型: 问题显而易见:每个客户端都需要创建一个线程,并发访问量大时,系统会出现堆栈溢出、创建新线程失败等问题 代码演示功能:时间服务器 服务端:public class TimeServer { public static void ma ...

阅读全文 »

Nginx之Openresty最佳实践

2019-04-18 | nginx
| 本文字数: 1.1k | 阅读时长 ≈ 1 分钟

我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。为了开发人员方便,所以接下来我们要介绍一种整合了Nginx和lua的框架,那就是OpenRe ...

阅读全文 »

Nginx进程模型

2019-04-18 | nginx
| 本文字数: 1k | 阅读时长 ≈ 1 分钟

进程模型Nginx是经典的多进程模型,Nginx启动后以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程,具体如下图: master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号 向各worker进程发送信号 监控woker进 ...

阅读全文 »

Nginx应用实战

2019-04-18 | nginx
| 本文字数: 6k | 阅读时长 ≈ 5 分钟

反向代理nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。 server { listen 80; server_name localhost; location / { proxy ...

阅读全文 »

Redis集群主从复制原理

2019-04-18 | redis
| 本文字数: 1.7k | 阅读时长 ≈ 2 分钟

复制的作用是把redis的数据复制多个副本部署在不同的服务器上,如果其中一台服务器出现故障,也能快速迁移到其它服务器上提供服务。 主从复制就是我们常见的master/slave模式,主redis可以进行读写操作,当写操作导致数据发生变化时,会讲数据同步到从reids,而一般情况下,从redis是只读 ...

阅读全文 »

Redis Cluster

2019-04-18 | redis
| 本文字数: 2.5k | 阅读时长 ≈ 2 分钟

即使是使用哨兵,此时的redis集群的每个数据库依然存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的节点,形成木桶效应。因为redis是基于内存存储的,所以这个问题尤为突出。 在redis3.0之前,我们是通过在客户端去做分片,通过hash的方式对key进行分片存储。分片虽然 ...

阅读全文 »

Redis哨兵机制

2019-04-18 | redis
| 本文字数: 1.6k | 阅读时长 ≈ 1 分钟

再master/slave模式中,当master遇到异常中断后,需要从slave中选举一个新的master继续对外提供服务,这种机制有很多,比如在zk中的leader选举、kafka中可以基于zk的节点实现master选举。所以在redis中也需要一种机制去实现master的决策,redis没有提供 ...

阅读全文 »

Redis中字符串的二进制安全

2019-04-18 | redis
| 本文字数: 663 | 阅读时长 ≈ 1 分钟

什么是二进制安全 二进制安全是指,在传输数据时,保证二进制数据的信息安全,也就是不被篡改、破译等,如果被攻击,能够及时检测出来。 Redis中的二进制安全C字符串中的字符必须符合某种编码(比如ASCII),并且除了字符串的末尾之外,字符串里面不能包含空字符,否则最先被程序读入的空字符将被误认为是字 ...

阅读全文 »

单线程的Redis性能为什么这么快

2019-04-18 | redis
| 本文字数: 1.1k | 阅读时长 ≈ 1 分钟

Redis采用了一种非常简单的做法,单线程来处理来自所有客户端的并发请求,Redis把任务封闭在一个线程中从而避免了线程安全问题。 至于为什么是单线程的,官方的解释是,CPU并不是Redis的瓶颈所在,Redis的瓶颈主要在机器的内存和网络的带宽。 Redis采用的是基于内存的、单进程、单线程模型的 ...

阅读全文 »
12345
Chen Jian

Chen Jian

For record only

49 日志
11 分类
22 标签
Links
  • 小马哥Github
© 2019 Chen Jian | 站点总字数: 160k
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Gemini v6.7.0