Loading

摘要: 函数就是一块执行特定任务的代码,在输入源的基础上通过一些算法生成预期的输出。 一、函数的声明 Go 语言中的函数声明语法如下: func 函数名(参数名 类型,参数名 类型)(返回值1类型,返回值2类型){ 函数体内容 return 返回值1,返回值2 } 注意:函数中的参数列表和返回值不是必须的 阅读全文
posted @ 2021-10-01 10:24 Mr-Yang` 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 一、基础介绍 Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语言 1、Go 的特性: 跨平台的编译型语言,交叉编译 管道(channel),切片(slice),并发(routine) 有垃圾回收机制 支 阅读全文
posted @ 2021-09-28 22:33 Mr-Yang` 阅读(386) 评论(0) 推荐(1) 编辑
摘要: 一、xpath选择器 XPath 是一门在 XML 文档中查找信息的语言 /: ——># 从根节点选取: //: ——># 不管位置,直接找 /@属性名 ——># 获取对应属性值 /text() ——># 获取文本内容 使用方式: from lxml import etree html = etre 阅读全文
posted @ 2021-08-22 18:54 Mr-Yang` 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 Beautiful Soup 主要是用来解析提取 HTML 和 XML 文件中的数据。 现在官网推荐使用 Beautiful Soup 4 ,已经被移植到了BS4中。 安装 Beautiful Soup:pip instal beautifulsoup4 使用格式: 实例化 Beautif 阅读全文
posted @ 2021-08-22 18:35 Mr-Yang` 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 一、requests的使用 安装:pip install requests get请求 1、发送 get 请求 import requests header = { 'referer': 'https://www.baidu.com' } # 请求并获取返回结果 re = requests.get( 阅读全文
posted @ 2021-08-19 22:20 Mr-Yang` 阅读(216) 评论(0) 推荐(1) 编辑
摘要: 一、二叉树 根节点:树上的节点 左叶子节点 右叶子节点 子树 完整的子树 一个根节点,左右叶子节点组成 不完整的子树 根节点:左叶子节点 根节点:右叶子节点 根节点: 特点:每一个节点都可以作为某一棵子树的根节点 class Node: def __init__(self, item): self. 阅读全文
posted @ 2021-08-16 21:47 Mr-Yang` 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 一、冒泡排序 原理: 比较相邻的元素。如果第一个比第二个大就交换他们两个 每一对相邻元素做同样的工作,直到结尾最后一对 每个元素都重复以上步骤,除了最后一个 第一步: 将乱序中的最大值找出,逐一移到序列最后的位置 alist = [3, 5, 9, 2, 1, 7, 8, 6, 4] def bub 阅读全文
posted @ 2021-08-07 19:23 Mr-Yang` 阅读(1339) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL主从搭建 主从配置原理: 主库写日志到 BinLog 从库开个 IO 线程读取主库的 BinLog 日志,并写入 RelayLog 再开一个 SQL 线程,读 RelayLog 日志,回放到从库中 主从配置流程: master 会将变动记录到二进制日志里面; master 有一个 I/ 阅读全文
posted @ 2021-07-30 20:07 Mr-Yang` 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 一、消息队列 消息队列就是一种先进先出的数据机构 当在分布式系统中的时候,不同的机器需要做数据交互,所以涉及到不同机器之间的数据交互,这样的话就需要借助专业的消息队列,常见的消息队列有 RabbitMQ 、Kafka...他们都是开源且支持语言较多。 消息队列解决的问题: 应用解耦 流量消峰: 如果 阅读全文
posted @ 2021-07-29 22:51 Mr-Yang` 阅读(537) 评论(0) 推荐(1) 编辑
摘要: 一、双写一致性 双写一致性,也就是说 Redis 和 mysql 数据同步 双写一致性数据同步的方案有: 1、先更新数据库,再更新缓存 这个方案一般不用: 因为当有两个请求AB先后更新数据库后,A应该先更新缓存,但是因为网络原因,B却先更新了缓存,导致了脏数据,所以不考虑用。 2、先删缓存,再更新数 阅读全文
posted @ 2021-07-28 20:53 Mr-Yang` 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 当并发量大于单机 Redis 的并发量时,或者数据量大于单机内存的容量,就可以采用加机器分布式集群的方式来解决。 在 Redis 中,集群是 3.0 以后加入的,3.0——5.0 之间需要采用了 ruby 脚本实现集群,而 5.0 之后就内置了。 一、数据分布 假设全量的数据非常大,500G,单机已 阅读全文
posted @ 2021-07-28 11:31 Mr-Yang` 阅读(567) 评论(0) 推荐(4) 编辑
摘要: 一、Sentinel说明 在主从复制中,master 挂掉了,那么整个就崩掉了,因为 slave 不能写数据。 所以哨兵的作用就是让 Redis 的主从复制高可用 在 master 挂掉后,Sentinel 在选一个 slave 当做 master,就算之前的那个 master 启动起来了,也只能当 阅读全文
posted @ 2021-07-28 08:46 Mr-Yang` 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 一、什么是主从复制 主从复制就是一个主库,一个从库或多个从库,一主多从。 主库就负责写数据,从库跟主库数据同步起来,这样就可以从库读数据,主库写数据,实现读写分离。 而且数据流向是单向的,从 master ——> slave,主库挂掉了,从库的数据还在。 原理: 1. 从库通过 slaveof 12 阅读全文
posted @ 2021-07-27 22:27 Mr-Yang` 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 持久化就是将 Redis 的所有数据保存在内存中,对数据的更新将异步保存到硬盘上 持久化的实现方式: 快照:在某时某刻对数据进行一次完整备份 RDB 写日志:记录所有的操作日志,要恢复数据,只要把日志重新走一遍就可以了 AOF 一、RDB RDB 就是在 Redis 触发备份的时候,创建 RDB 文 阅读全文
posted @ 2021-07-27 19:09 Mr-Yang` 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 一、通用命令 **keys:**keys命令一般不在生产环境中使用,生产环境key很多,时间复杂度为o(n),用scan命令 keys * # 打印出所有key keys he* # 打印出所有以he开头的key keys he[h-l] # 打印出所有以he开头,第三个字母是h到l的范围 keys 阅读全文
posted @ 2021-07-27 18:51 Mr-Yang` 阅读(224) 评论(0) 推荐(0) 编辑