摘要:
1、秒杀系统部署 2、高并发项目整体架构部署(500万日活项目部署) 3、大体先梳理项目中的技术点(结合实验楼分析项目整体架构和技术点) 01.秒杀系统架构 #1.1 超卖问题 1、1000件商品 2、第一步查询商品数量 3、查询商品:A 读 商品 1000 B 读 商品 1000 4、扣减库存:A 阅读全文
posted @ 2021-03-27 21:25
小虾米爱吃鱼
阅读(105)
评论(0)
推荐(0)
摘要:
1.1 并发常用名词 1、PV(访问量): 页面访问量,页面刷新一次算一次。 2、UV(独立访客): 即Unique Visitor,一个客户端(电脑,手机)为一个访客; 3、DAU(日活跃用户数):登录或使用了某个产品的用户数,这与流量统计工具里的访客(UV)概念相似。 4、峰值QPS: 原理:每 阅读全文
posted @ 2021-03-27 21:19
小虾米爱吃鱼
阅读(137)
评论(0)
推荐(0)
摘要:
1.1 机器规划和架构图 角色 IP nginx反向代理+keepalive-master 192.168.56.61 web01 192.168.56.62 web02 192.168.56.63 nginx反向代理+keepalive-slave 192.168.56.64 1.2 部署ngin 阅读全文
posted @ 2021-03-27 21:17
小虾米爱吃鱼
阅读(547)
评论(0)
推荐(0)
摘要:
1.1 常规部署方案 角色 IP nginx反向代理服务 192.168.56.61 web01 92.168.56.62 web02 192.168.56.63 1.2 Nginx反向代理 1.2.1 web01和web02安装nginx web01配置 [root@linux-node4 ~]# 阅读全文
posted @ 2021-03-27 21:09
小虾米爱吃鱼
阅读(85)
评论(0)
推荐(0)
摘要:
1.master 主分支,稳定代码,为生产环境做准备的 2.develop 开发分支,为开发服务(测试没有问题的代码最终会合并到master分支形成文档版本) 3.git的三个工作区域 1)工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。 2)暂存 阅读全文
posted @ 2021-03-27 21:04
小虾米爱吃鱼
阅读(82)
评论(0)
推荐(0)
摘要:
1.1 互联网公司人员介绍 1.1.1 中大型公司人架构(1000人上下) 1.1.2 中小型公司人员架构(200人上下) 1.2 公司开发环境介绍 开发环境 本地电脑 开发机器: 给开发人员自己用的测试机器 比较大的公司才会有(公司给每一个开发人员可能都会配置一个单独的机器作为开发机器,这个机器是 阅读全文
posted @ 2021-03-27 21:02
小虾米爱吃鱼
阅读(3423)
评论(0)
推荐(0)
摘要:
1.1 各种算法比较 2层for循环都是 O(n²) log(n):每次循环减半(二分查找) 快排:nlog(n) 阅读全文
posted @ 2021-03-27 20:57
小虾米爱吃鱼
阅读(49)
评论(0)
推荐(0)
摘要:
1.1 快排-递归实现 **注:**快排代码实现(类似于二叉树 递归调用) 右手左手一个慢动作,左手右手一个慢动作重播 空间复杂度 O(1) #!/usr/bin/env python # -*- coding:utf-8 -*- import random import sys sys.setre 阅读全文
posted @ 2021-03-27 20:56
小虾米爱吃鱼
阅读(64)
评论(0)
推荐(0)
摘要:
1.1 冒泡 1、*原理:**拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较 2、第一轮结束后最上面那个一定是最大的数 import random def bubble_sort(li): for i in range(len(li) - 1): exch 阅读全文
posted @ 2021-03-27 20:54
小虾米爱吃鱼
阅读(64)
评论(0)
推荐(0)
摘要:
https://www.cnblogs.com/xiaonq/p/8573587.html 01.二分查找 l = list(range(1,101)) def bin_search(data_set,val): low = 0 high = len(data_set) - 1 while low 阅读全文
posted @ 2021-03-27 20:52
小虾米爱吃鱼
阅读(35)
评论(0)
推荐(0)
摘要:
二叉树、满二叉树、完全二叉树、平衡二叉树 B-tree/B+tree 阅读全文
posted @ 2021-03-27 20:49
小虾米爱吃鱼
阅读(34)
评论(0)
推荐(0)
摘要:
1.1 哈希表 注:字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是 O(1) 1.1.1 哈希表 (hash tables) 1.哈希表(也叫散列表),根据关键值对(Key-value)而直接进行访问的数据结构。 2.它通 阅读全文
posted @ 2021-03-27 20:47
小虾米爱吃鱼
阅读(61)
评论(0)
推荐(0)
摘要:
1.1 数组定义 1.所谓数组,就是相同数据类型的元素按一定顺序排列的集合 2.在Java等其他语言中并不是所有的数据都能存储到数组中,只有相同类型的数据才可以一起存储到数组中。 3.因为数组在存储数据时是按顺序存储的,存储数据的内存也是连续的,所以他的特点就是寻址读取数据比较容易,插入和删除比较困 阅读全文
posted @ 2021-03-27 20:44
小虾米爱吃鱼
阅读(59)
评论(0)
推荐(0)
摘要:
https://www.cnblogs.com/xiaonq/p/8574655.html#i4 1.1 单链表定义 1、注:链表中每个元素都是一个对象,每个对象称为一个节点 2、每个节点包含两部分: 数据域: 存放当前节点数据 指针域: 指向下一个节点的内存地址 1.2 python模拟单链表 c 阅读全文
posted @ 2021-03-27 20:32
小虾米爱吃鱼
阅读(50)
评论(0)
推荐(0)
摘要:
https://www.cnblogs.com/xiaonq/p/8574655.html#i3 1.1 队列定义 1、队列是一个数据集合,仅允许在列表的一端进行插入,另一端进行删除 2、插入的一端称为队尾(rear),插入动作叫进队或入队 3、进行删除的一端称为对头(front),删除动作称为出队 阅读全文
posted @ 2021-03-27 20:27
小虾米爱吃鱼
阅读(158)
评论(0)
推荐(0)
摘要:
https://www.cnblogs.com/xiaonq/p/8574655.html#i2 1.1 栈定义 1、栈的定义 栈是一种数据集合 ,可以理解为只能在一端进行插入或删除操作的列表 2、栈的特点 后进先出(last-in, first-out) 3、栈的概念 栈顶,栈底 4、栈的基本操作 阅读全文
posted @ 2021-03-27 20:24
小虾米爱吃鱼
阅读(51)
评论(0)
推荐(0)
摘要:
https://www.cnblogs.com/xiaonq/category/1168368.html 01.数据结构与数据类型 1.1 数据结构是什么 1、简单来说,数据结构就是设计数据以何种方式存储在计算机中 2、比如:列表,集合,与字典 等都是一种数据结构 3、程序=数据结构+算法 1.2 阅读全文
posted @ 2021-03-27 20:22
小虾米爱吃鱼
阅读(52)
评论(0)
推荐(0)
摘要:
第一步:查询redis缓存是否存在这个key 第二步:如果存在这个key,不用去mysql中查询,直接从redis中取出数据即可(减轻了mysql压力) 第三步:如果查询的key不存在,先到mysql中查询数据,让后设置到redis中,下次查询就有了 1.1 2B青年操作 2B青年每一个需要使用缓存 阅读全文
posted @ 2021-03-27 20:15
小虾米爱吃鱼
阅读(55)
评论(0)
推荐(0)
摘要:
https://www.cnblogs.com/xiaonq/p/12328934.html 1.1 redis事物介绍 1.redis事物是可以一次执行多个命令,本质是一组命令的集合。 2.一个事务中的所有命令都会序列化,按顺序串行化的执行而不会被其他命令插入 **作用:**一个队列中,一次性、顺 阅读全文
posted @ 2021-03-27 20:13
小虾米爱吃鱼
阅读(75)
评论(0)
推荐(0)
摘要:
1.1 缓存穿透 查询一个不存在的key 1)定义 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,接着查询数据库也无法查询出结果 虽然也不会写入到缓存中,但是这将会导致每个查询都会去请求数据库,造成缓存穿透; 2)解决方法 :布隆过滤 对所有可能查询的参数以hash形式存储,在控制层先进行校 阅读全文
posted @ 2021-03-27 20:01
小虾米爱吃鱼
阅读(68)
评论(0)
推荐(0)
摘要:
#1.1 redis主从 1、和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。 2、为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构。 3、Redis主从复制可以根据是否是全量分为全量同步和增量同步。 注: 阅读全文
posted @ 2021-03-27 19:58
小虾米爱吃鱼
阅读(60)
评论(0)
推荐(0)
摘要:
1.1 CPA原理 1、CPA原理是分布式存储理论的基石:C(一致性);A(可用性);P(分区容忍性); 2、当主从网络无法连通时,修改操作无法同步到节点,所以“一致性”无法满足 3、除非我们牺牲“可用性”,也就是暂停分布式节点服务,不再提供修改数据功能,直到网络恢复 一句话概括CAP: 当网络分区 阅读全文
posted @ 2021-03-27 19:49
小虾米爱吃鱼
阅读(612)
评论(0)
推荐(0)
摘要:
1.1 什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached。 整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最 阅读全文
posted @ 2021-03-27 19:44
小虾米爱吃鱼
阅读(84)
评论(0)
推荐(0)
摘要:
1.1 Mysql主从复制原理 、master服务器将数据的改变都记录到二进制binlog日志中,只要master上的数据发生改变,则将其改变写入二进制日志; 2、salve服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/O Thread请求mas 阅读全文
posted @ 2021-03-27 19:32
小虾米爱吃鱼
阅读(79)
评论(0)
推荐(0)
摘要:
#1.1 优化方向 1、存储引擎的选择:INnoDB MyISAM 2、设计数据库的设计,尽量的遵循三范式 3、适当的建立索引 4、查询数据的时候,注意 ... 这些 5、使用explain检查索引命中率,分析这一条sql语句是否可优化 6、数据量大的时候,主从分离、分库分表、垂直/水平分割 7、尽 阅读全文
posted @ 2021-03-27 19:25
小虾米爱吃鱼
阅读(57)
评论(0)
推荐(0)
摘要:
1.1 什么是mysql慢查询 1、MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。 2、运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。 3、long_query_time的默认值为10,意思是 阅读全文
posted @ 2021-03-27 19:21
小虾米爱吃鱼
阅读(59)
评论(0)
推荐(0)
摘要:
1.1 mysql索引类型 单列索引 1、主键索引(不能为空) 设定为主键后数据库会自动建立索引 2、唯一索引(可为空) 索引列的值必须唯一,但允许有空值 3、普通索引(可重复) 可以为空,可以重复 4、组合索引(一个索引包含多个列) 最左前缀 1.2 组合索引 1.2.1 复合索引特点 1、联合索 阅读全文
posted @ 2021-03-27 19:19
小虾米爱吃鱼
阅读(114)
评论(0)
推荐(0)
摘要:
1.1 锁分类 按使用方式划分:乐观锁、悲观锁 按锁级别划分:共享锁、排他锁 按锁的粒度划分:表级锁、行级锁、页级锁 按操作划分:DML锁,DDL锁 按加锁方式划分:自动锁、显示锁 1.2 共享锁和排它锁 共享锁(读锁) 1、共享锁又叫读锁,如果事务T对A加上共享锁,则其它事务只能对A再加共享锁,不 阅读全文
posted @ 2021-03-27 19:12
小虾米爱吃鱼
阅读(49)
评论(0)
推荐(0)
摘要:
1.1 InnoDB事务原理 1、事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态。 2、在数据库提交时,可以确保要么所有修改都已保存,要么所有修改都不保存。 1.2 事务四大特性 1、原子性:整个事物的所有操作要么全部提交成功 阅读全文
posted @ 2021-03-27 19:06
小虾米爱吃鱼
阅读(51)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2021-03-27 19:05
小虾米爱吃鱼
阅读(22)
评论(0)
推荐(0)
摘要:
01.读写文件 1、读写文件(python如何读取大文件):https://www.cnblogs.com/xiaonq/p/7860309.html 2、经典面试题:现在有一个5G的文件,用python写入另一个文件里 1、read(): 指定读取指定大小的文件(默认一次读取所有) 2、readl 阅读全文
posted @ 2021-03-27 18:58
小虾米爱吃鱼
阅读(48)
评论(0)
推荐(0)
摘要:
00.匿名函数 f = lambda x,y,z:x+y+z def F(x,y,z): return x+y+z f = lambda x:x if x % 2 != 0 else x + 100 print(f(10)) # 110 三元运算 name = 'Tom' if 1 == 1 els 阅读全文
posted @ 2021-03-27 18:54
小虾米爱吃鱼
阅读(82)
评论(0)
推荐(0)
摘要:
01.网络七层与TCP https://www.cnblogs.com/xiaonq/p/10470551.html 1.1 网络七层 1.2 TCP三层握手 1.3 TCP与UDP比较 1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2.TCP提供可 阅读全文
posted @ 2021-03-27 18:50
小虾米爱吃鱼
阅读(72)
评论(0)
推荐(0)
摘要:
01.上下文管理 1、什么是with语句 1、with是一种上下文管理协议,目的在于从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try….except….finlally的处理流程。 2、所以使用with处理的对象必须有enter()和exit() 阅读全文
posted @ 2021-03-27 18:47
小虾米爱吃鱼
阅读(71)
评论(0)
推荐(0)
摘要:
01.python垃圾回收机制 class Student(object): def __del__(self): # 作用:清除无用的实例对内存的暂用 print('__del__') s1 = Student() s2 = s1 del s2 del s1 import time time.sl 阅读全文
posted @ 2021-03-27 18:44
小虾米爱吃鱼
阅读(53)
评论(0)
推荐(0)
摘要:
01.深浅拷贝 浅copy与deepcopy(What) 浅copy: 不管多么复杂的数据结构,浅拷贝都只会copy一层 deepcopy : 深拷贝会完全复制原变量相关的所有数据,在内存中生成一套完全一样的内容,我们对这两个变量中任意一个修改都不会影响其他变量 import copy source 阅读全文
posted @ 2021-03-27 18:41
小虾米爱吃鱼
阅读(56)
评论(0)
推荐(0)

浙公网安备 33010602011771号