周晓楠

导航

 

2020年10月26日

摘要: 1. select (能监控数量有限,不能告诉用户程序具体哪个连接有数据) 1. select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点 2. select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024 3. select监控socket 阅读全文
posted @ 2020-10-26 21:23 周晓楠 阅读(154) 评论(0) 推荐(0) 编辑
 
摘要: 原理:拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较,第一轮结束后最上面那个一定是最大的数 #! /usr/bin/env pythonf # -*- coding: utf-8 -*- def bubble_sort(li): for i in rang 阅读全文
posted @ 2020-10-26 21:21 周晓楠 阅读(95) 评论(0) 推荐(0) 编辑
 
摘要: 1. 引用计数 1)当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1. 2)当对象的引用计数减少为0时,就意味着对象已经再没有被使用了,可以将其内存释放掉。 2. 标记-清除 1)它分为两个阶段:第一阶段是标记阶段,GC会把所有的活动对象打上标记,第 阅读全文
posted @ 2020-10-26 21:19 周晓楠 阅读(104) 评论(0) 推荐(0) 编辑
 
摘要: 1. lambda基本使用 1. lambda只是一个表达式,函数体比def简单很多。 2. lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 3. lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。 4. 格式:lambd 阅读全文
posted @ 2020-10-26 21:09 周晓楠 阅读(131) 评论(0) 推荐(0) 编辑
 
摘要: MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是记录运行10秒以上的语句。默认情况下 阅读全文
posted @ 2020-10-26 21:06 周晓楠 阅读(200) 评论(0) 推荐(0) 编辑
 
摘要: 1. 迭代器定义 1. 迭代器是访问集合内元素的方式,迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束 2. 迭代器仅是一容器对象,它有两个基本方法 1)next方法:返回容器的下一个元素 2)__iter__方法:返回迭代器自身 a = iter([1,2,]) #生成一个迭 阅读全文
posted @ 2020-10-26 21:04 周晓楠 阅读(125) 评论(0) 推荐(0) 编辑
 
摘要: 1. 单个codis代理支撑的QPS比较有限,通过启动多个codis代理可以显著增加整体QPS 2. 多codis还能起到容灾功能,挂掉一个codis代理还有很多codis代理可以继续服务 阅读全文
posted @ 2020-10-26 20:59 周晓楠 阅读(95) 评论(0) 推荐(0) 编辑
 
摘要: 1. 场景需求 2020年春,由我司开发的考试系统项目,经过不懈的运营努力,用户群体每日以指数倍激增,现考虑到数据库的安全可靠和访问性能问题,决定在业务中集成部署Mysql主从复制以实现读写分离等功能;巧的是,在想要进行主从复制操作前,我们的主要业务数据库已经工作了一段时间,现在要添加一台新的从数据 阅读全文
posted @ 2020-10-26 20:52 周晓楠 阅读(1001) 评论(0) 推荐(0) 编辑
 
摘要: 1. sentinel作用 1. 当用Redis做主从方案时,假如master宕机,Redis本身无法自动进行主备切换 2. 而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。 2. sentinel原理 1. 阅读全文
posted @ 2020-10-26 20:51 周晓楠 阅读(283) 评论(0) 推荐(0) 编辑
 
摘要: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 fib = lambda n: n if n < 2 else 2 * fib(n - 1) 阅读全文
posted @ 2020-10-26 20:47 周晓楠 阅读(89) 评论(0) 推荐(0) 编辑
 
摘要: 1. 缓存穿透 1)定义 1. 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,接着查询数据库也无法查询出结果, 2. 虽然也不会写入到缓存中,但是这将会导致每个查询都会去请求数据库,造成缓存穿透; 2)解决方法 :布隆过滤 1. 对所有可能查询的参数以hash形式存储,在控制层先进行校验,不 阅读全文
posted @ 2020-10-26 20:41 周晓楠 阅读(114) 评论(0) 推荐(0) 编辑
 
摘要: #! /usr/bin/env python # -*- coding: utf-8 -*- def quick(list): if len(list) < 2: return list tmp = list[0] # 临时变量 可以取随机值 left = [x for x in list[1:] 阅读全文
posted @ 2020-10-26 20:32 周晓楠 阅读(79) 评论(0) 推荐(0) 编辑
 
摘要: def fun(i): if i == 0: return 0 elif i == 1: return 1 else: return fun(i-2) + fei(i-1) if __name__ == '__main__': for i in range(10): print(fun(i),end 阅读全文
posted @ 2020-10-26 20:30 周晓楠 阅读(70) 评论(0) 推荐(0) 编辑
 
摘要: #1. append用于在列表末尾追加新的对象 a = [1,2,3] a.append(4) #the result : [1, 2, 3, 4] #2. count方法统计某个元素在列表中出现的次数 a = ['aa','bb','cc','aa','aa'] print(a.count('aa 阅读全文
posted @ 2020-10-26 20:28 周晓楠 阅读(226) 评论(0) 推荐(0) 编辑
 
摘要: #1. clear方法清除字典中所有的项,这是一个原地操作,所以无返回值(或则说返回None) d = {'name':"tom"} d.clear() print(d) #the result : {} #2. fromkeys方法使用给定的键建立新的字典,每个键都对应一个默认的值None pri 阅读全文
posted @ 2020-10-26 20:27 周晓楠 阅读(257) 评论(0) 推荐(0) 编辑
 
摘要: 1. 布隆过滤器是什么?(判断某个key一定不存在) 1. 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构 2. 特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。 3. 相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回 阅读全文
posted @ 2020-10-26 20:25 周晓楠 阅读(114) 评论(0) 推荐(0) 编辑
 
摘要: 1. 字符串(string) 1)value的数据结构(数组) 1. 字符串value数据结构类似于数组,采用与分配容易空间来减少内存频繁分配 2. 当字符串长度小于1M时,扩容就是加倍现有空间 3. 如果字符串长度操作1M时,扩容时最多扩容1M空间,字符串最大长度为 512M 2)字符串的使用场景 阅读全文
posted @ 2020-10-26 20:24 周晓楠 阅读(210) 评论(0) 推荐(0) 编辑
 
摘要: 1. 字段设计优化 适应遵循数据库三范式 2. 引擎的选择 适应选择MyIsam & InnoDB 3. 索引 索引也会消耗内存空间,并不是越多越好。而且索引的种类都有各自的有点 4. 查询缓存 将 select查询结果缓存起来,key 为SQL语句,value 为查询结果 5. 分区 6. 水平分 阅读全文
posted @ 2020-10-26 20:08 周晓楠 阅读(88) 评论(0) 推荐(0) 编辑
 
摘要: 1. 静态方法 1. 作用:静态方法可以更好的组织代码,防止代码变大后变得比较混乱。 2. 特性: 静态方法只是名义上归类管理,实际上在静态方法里访问不了类或则实例中的任何属性 3. 静态方法使用场景: 1)我们要写一个只在类中运行而不在实例中运行的方法. 2)经常有一些跟类有关系的功能但在运行时又 阅读全文
posted @ 2020-10-26 20:07 周晓楠 阅读(527) 评论(0) 推荐(0) 编辑
 
摘要: 1. 以一个3阶的B-Tree举例 1. 每个节点占用一个盘块的磁盘空间,一个节点上有两个升序排序的关键字和三个指向子树根节点的指针,指针存储的是子节点所在磁盘块的地址。 2. 两个关键词划分成的三个范围域对应三个指针指向的子树的数据的范围域。 3. 以根节点为例,关键字为17和35,P1指针指向的 阅读全文
posted @ 2020-10-26 20:06 周晓楠 阅读(110) 评论(0) 推荐(0) 编辑