-
浅谈操作系统原理(八) 计算机网络基础概述
发布时间:2020-04-04 13:24计算机网络基础概述网络层级结构设计的基本原则计算机网络是使用分层来实现的。分层设计的原则:1.各层之间是相互独立的,这一层不需要知道下一层或者上一层是怎么实现的。即层与层之间耦合度是非常低的。2.各层
-
浅谈操作系统原理(七) 使用python写一个线程池并使用多线程写爬虫
发布时间:2020-03-30 18:51线程池 线程池是存放多个线程的容器 CPU从线程池中调度线程并执行,执行后不会销毁线程,而是将线程放回线程池以便重复利用。 在正式的开发中,当我们想用多线程完成某个任务的时候,我们不会在需要
-
浅谈操作系统原理(六) 进程和线程同步
发布时间:2020-03-25 17:31本节主要介绍进程和线程同步的方式1.线程同步之互斥量场景:当多个线程争抢一个临界资源(临界资源是可由多线程或多进程共享的)的时候,互斥量可以保证一个线程在使用这个临界资源的时候,其他线程不会使用这个资
-
浅谈操作系统原理(五) 存储管理之内存管理和文件管理
发布时间:2020-03-24 11:29存储管理之内存分配和回收存储管理的目的:确保计算机有足够内存来保存和处理数据确保程序可以从可用内存中获取一部分内存来使用确保程序可以归还使用后的内存以供其他程序用内存分配的过程固定分区分配将内存划分为
-
浅谈操作系统原理(四) 操作系统中的线程和进程
发布时间:2020-03-18 14:57什么是操作系统 操作系统是管理计算机软件和硬件的程序。 所以本质上,操作系统是一个程序,软件。 具体功能有配置内存,决定资源供需顺序,控制输入输出设备,提供操作界面 高度概括就是:
-
浅谈操作系统原理(三) 使用python实现内存缓存置换算法
发布时间:2020-03-17 08:36双向链表(double linked list)的原理与实践 首先介绍一下单向链表 单向链表(单链表)是链表的一种 链表上有多个节点,每个节点都包含一个key-value的键值对(或者其他数
-
浅谈操作系统原理(二) 计算机的组成(内存,缓存,输入输出设备,CPU等)
发布时间:2020-03-17 00:10计算机组成 1.计算机的总线 总线就是连接计算机不同设备的一条数据线,这里强调是“一条”。作用是解决不同设备间的通信问题,而且可以简化计算机内部电路
-
浅谈操作系统原理(一) 计算机概述
发布时间:2020-03-16 22:12计算机概述冯诺依曼体系 是将程序指令和数据一起存储的计算机设计理念。简单的说,早期计算机只能用作固定用途,一种计算机只能实现一种功能。例如说某台计算机只能玩游戏,但是不能用来处理文档。如果要
-
深入Redis之 redis cluster 集群原理 (九)
发布时间:2020-03-01 00:03所谓的分布式集群就是:加机器,所有的数据分散的存放到每一台机器 redis Cluster是redis内部提供的一种分布式集群功能,可以使用redis cluster命令实现redis分布式分区
-
深入Redis之 sentinel故障转移 (八)
发布时间:2020-02-28 10:12redis sentinel 架构 sentinel在redis安装时已经安装。 sentinel + 主从复制实验: 节点如下: 3个
-
深入Redis之 redis主从复制过程和原理 (七)
发布时间:2020-02-26 18:49说起redis的主从复制,我们可以类比一下mysql的主从复制 mysql为什么要做主从复制,或者说做主从复制有什么好处 主要从两个方面说。一个是安全性,可以做数据冗余,防止误操作下的数据丢失
-
深入Redis之 rdb快照和aof日志持久化 (六)
发布时间:2020-02-23 22:33什么是持久化 redis的数据时保存在内存中,持久化是将redis数据异步保存到磁盘上 持久化的方式 快照 rdb 日志 aof RDB rdb是快照文件(
-
深入Redis之 bitmap位图和HyperLogLog(五)
发布时间:2020-02-23 15:36bitmap位图 我们知道一个字符占1个字节,也就是8个位 例如 set name big big字符串中的3个字符的ASCII码为98 105 113 所以
-
深入Redis之 Publish/Subscribe 消息发布订阅 (四)
发布时间:2020-02-23 15:04发布订阅 角色: 发布者 订阅者 频道 发布订阅的通信模型: 发布订阅模型 发布者和订阅者都在客户端,而频道在redis服务端。 发布
-
深入Redis之 pipeline流水线 (三)
发布时间:2020-02-23 15:00pipeline (流水线)流水线是能够帮助客户端将多条命令打包一起发送给服务端的工具。情景1:客户端如果想获取或者设置多个key,可以发送多次get,set命令。但是每次命令从客户端传到redis服
-
深入Redis之 慢查询slowlog (二)
发布时间:2020-02-23 14:54慢查询 就是将查询时间长的操作记录下来。 客户端请求的生命周期: redis请求的生命周期 如上图所示可以分为4个阶段: a.发送命令(消耗的是网络时间) b.命令在队
-
深入Redis之 Redis的五种基本数据类型和使用场景 (一)
发布时间:2020-02-22 16:461.redis的特性:单线程 由于是单线程,所以redis的命令执行是串行而不是并行的,意味着同一时间内redis只会执行一个命令。 由于一次只能执行一条命令,所以要拒绝长命令(就是运行时间长
-
Nginx优化篇 nginx+php-fpm压力测试实践 (二十三)
发布时间:2020-02-18 18:31压力测试环境准备:系统:Linux Ubuntu 16.04.4CPU核数:2内存:2G带宽:10000M/s服务端:Nginx 1.16 + php-fpm 7.2客户端:一台带宽50M/s的服务器
-
Nginx优化篇 ab压力测试和监控 (二十二)
发布时间:2020-02-18 12:22ab压力测试和监控 1.测试环境准备 在开始测试前先查看系统CPU,内存,带宽: #查看逻辑CPU个数
-
Nginx优化篇 Linux内核参数、Nginx配置和php-fpm配置优化汇总 (二十一)
发布时间:2020-02-18 09:38Linux内核参数调优: fs.file-max # 每一个连接都是文件句柄,所以Linux容纳的文件句柄数的上限,即Linux能够同时打开的文件数量 本机默认1839