08 2022 档案
摘要:我正在参与掘金创作者训练营第6期,点击了解活动详情 我们之前已经学习了RESP协议的内容,且已经完成了一个最简单的Redis读写分离中间件,我们来看拆解下该demo, 看看Redis RESP协议实现起来到底有多简单。 回顾RESP协议 RESP是基于TCP来实现的Redis通信协议,该协议是以/r
阅读全文
摘要:我正在参与掘金创作者训练营第6期,点击了解活动详情 本篇文章将介绍Redis通信协议RESP, 而后在使用go来编写一个中间件,从而来完成Redis读写分离。 本篇文章目的为探究RESP协议,而非编写读写中间件,这点要清楚。 我们为什么需要了解RESP协议? 关于这个问题,我想通过一个实例来解释,我
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第21天,点击查看活动详情 如果你还不会搭建Redis主从复制,请参考主从复制搭文档: juejin.cn/post/713470… 文章采用的Redis版本为: 3.2.12 Redis主从复制概要 之前我们介绍了如何构建主从复制
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情 Redis主从复制简介 Redis主从复制指的是一台Redis数据库,后面挂多个从库,我们将从2方便来讲述Redis主从复制: 1. 从而实现数据备份 2.读写分离等。 Redis主从架构抽象出来如下:
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详情 哎,基础不牢,地动山摇。基础的问题,放在复杂的代码环境中,很难让人摸住头脑,而抽象出来,又如此简单。 将问题抽象出来 最近在用go写定时任务的时候,采取了切片的方式作为数据的存储载体。但是在编写的过程中遇
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情 本篇文章不会讲解详细的攻击指令,只探讨攻击策略和方法,更重要,更加重要的是作为一名运维而言,要知道如何避免被攻击,以此来保证服务器稳定安全的运行。 各位运维同仁大家好,我们之前在 服务器被挖矿了后应当如何
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详情 先说最优解: 服务器若是被挖矿了,建议备份数据且重装系统。 所谓的挖矿是什么,这里暂不做解释了,有需要者可以自行百度或者必应,本篇文章主要讲述被攻击后应当如何做。 如何发现问题 首先,挖矿程序是非常耗费c
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第16天,点击查看活动详情 这是写给初入运维小伙伴的,大佬们勿喷。许多初入运维的小伙伴在遇到问题时,会显得很慌乱,随便拿着少许报错,就上必应、百度等,在服务器上狂操作,既浪费了时间,又没有解决问题,本篇文章,可以和大家分享一下,小弟
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情 各位运维同仁肯定都多多少少面临过,为了节省不必要的开支,很多不那么重要的域名https证书大多数都是申请的免费的单域名证书,这造成检测非常不方便,虽然运营商ssl证书到期前会预警,但是为了避免该类问题,我
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情 在我们日常维护中,经常有爬虫进行爬取网页,少则1秒钟请求数十次,多则达百次,严重消耗了服务器带宽,且影响正常使用者,好在nginx可以配合lua可以完成类似的需求,本次我们将使用go来完成本需求。 需求背
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情 在我们日常运维中,特别是在云服务器环境下,其使用基本上都是弹性网卡,所以使用ip a只能获取其内网地址,若想要获取其公网ip,除了上云平台查看机器信息以外,只有通过其他服务来协助返回公网地址了。 我们应该
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情 之前我们看了一下grep所代表的BRE、ERE、PCRE正则表达式,这次我们来看下golang regexp的正则表达式。 go regexp简介 regexp包借鉴了RE2语法,很多文章描述是采用了RE
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情 之前我们学习了linux grep的基本操作,以及提及了linux grep的孪生兄弟egrep 和 fgrep,这次我们来看下。 在介绍正则表达式之前,我们先来尝试一下,假如有如下文本。 我们想获取空行
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情 之前我们已经介绍了linux awk工具,和linux jq工具,这次我们来看看linux grep工具。 什么是grep grep最早是使用在unix操作系统上的命令行,后被移植到了Linux下(如果你
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情 上一节我们看了MySQL存储引擎,这次我们来看看MySQL数据目录。 数据库和文件系统的关系 我们学习了众多的存储引擎,例如InnoDB、MyISAM等,这些存储引擎所包含的数据文件,都将数据存储在磁盘中(
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天,点击查看活动详情 这次我们想使用该"web框架"完成一个“留言小demo”,如果还没有看过之前的文章的,建议翻看一下 获取http请求报文: juejin.cn/post/712023… 构建http响应报文: juejin
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情 这是关于Golang之我想写个web框架的第5篇文章,这篇文章主要讲述如何获取POST请求报文提交的数据。 如果还没看过其他几篇,建议先看本专栏的另外几篇文章: 获取http请求报文: juejin.cn/
阅读全文
摘要:我正在参与掘金创作者训练营第5期,点击了解活动详情 这是使用go手写http协议的第4篇,本篇我们将要实现获取请求报文提交的数据,目前我们已经支持2中请求方法: 1. GET、2. POST,我们这篇文章将在Get请求上获取请求的数据。 Get中数据的提交方法 Get方法提交数据一般提交数据像这个样
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情 今天是学习MySQL的第6天,今天来看看MySQL 的存储引擎简介,以及InnoDB储存引擎。 什么是MySQL存储引擎 MySQL中有很多存储引擎,例如: InnoDB、MyISAM、MEMORY等,我们
阅读全文
摘要:携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情 今天是学习MySQL的第5天。 发现悖论 今天再看MySQL其他文章的时候,发现其中有个知识点是读取配置文件,不是按照优先级去读取的,我们在学习 学习MySQL系列:2. MySQL配置项和配置文件 的时候
阅读全文