11 2020 档案

python 实现生产者 消费者案例
摘要:题目:python起2个进程一个为生产者、一个为消费者(消费者进程中起协程消费) from multiprocessing import Process, Queue import time import random import gevent # 消费者方法 def consumer(q): w 阅读全文

posted @ 2020-11-27 22:19 星河赵 阅读(1142) 评论(0) 推荐(0) 编辑

Nginx日志分析- AWK命令快速分析日志【访问最多请求最多的ip、最频繁、恶意访问】
摘要:Nginx日志常用分析命令示范(注:日志的格式不同,awk取的项不同。下面命令针对上面日志格式执行) 1)总请求数 wc -l access.log |awk '{print $1}' 2)独立IP数 awk '{print $1}' access.log|sort |uniq |wc -l 3)每 阅读全文

posted @ 2020-11-25 17:33 星河赵 阅读(889) 评论(0) 推荐(0) 编辑

HTTP常见状态码(14种)
摘要:HTTP状态码表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常或者是出现的错误,能够根据返回的状态码判断请求是否得到正确的处理很重要。 状态码由3位数字和原因短语组成,例如下图所示: 数字中的第一位指定了响应类别,后两位无分类,响应类别有一下5种: 1xx Informational(信 阅读全文

posted @ 2020-11-22 21:12 星河赵 阅读(604) 评论(0) 推荐(0) 编辑

python 之gevent 协程操作
摘要:gevent的简介 gevent是一个基于协程的python网络库,在遇到IO阻塞时,程序会自动进行切换,可以让我们用同步的方式写异步IO代码。 因为python线程的性能问题,在python中使用多线程运行代码经常不能达到预期的效果。而有些时候我们的逻辑中又需要开更高的并发,或者简单的说,就是让我 阅读全文

posted @ 2020-11-22 21:04 星河赵 阅读(1263) 评论(0) 推荐(0) 编辑

mongo分片集群生产环境操作步骤&&mongo注意事项
摘要:生产环境第一次上线操作步骤(前提代码中需要指定shard_key) python 代码示例 from mongoengine import connect, DynamicDocument, SequenceField, StringField connect(host="mongodb://roo 阅读全文

posted @ 2020-11-22 19:32 星河赵 阅读(204) 评论(0) 推荐(0) 编辑

记录一次supervisor在生产环境中遇到的坑minfds参数
摘要:现象描述 在生产环境中线上反馈服务端接口响应速度很慢,但是在排查问题时发现服务器的负载并不高,带宽也没有问题,最后定位到问题是因为supervisor配置中有一个minfds参数(单个进程开启的描述符最多不允许超过 minfds 设置的值默认1024) 在生产环境中需要修改这个配置为655350 配 阅读全文

posted @ 2020-11-22 19:22 星河赵 阅读(378) 评论(0) 推荐(0) 编辑

nginx负载均衡分类&&优先级配置
摘要:nginx负载均衡分类 1.RR简单轮询(默认) 2.balance权重指定轮询几率,weight和访问比率成正比 3.ip_hash(可确保session一致)固定ip访问同一台机器 4.upstream-fair 按后端服务器的响应时间来分配请求,响应时间短的优先分配。 5:url_hash(第 阅读全文

posted @ 2020-11-22 19:03 星河赵 阅读(768) 评论(0) 推荐(0) 编辑

数据库为什么中索引会比较快?
摘要:数据库为什么中索引会比较快? 建立了索引是字典 哈希 哈希将一组数据计算出一个唯一值,数据的地址放在指针数组的哪个单元格是算出来的,是有迹可寻的 哈希(字典)属于是空间换时间 阅读全文

posted @ 2020-11-22 19:02 星河赵 阅读(408) 评论(0) 推荐(0) 编辑

redis 面试相关
摘要:1.redis锁的机制 什么时候会死锁 设计一个死锁的情景 存在风险:SETNX和EXPIRE 为两个指令,如果设置了SETNX后程序崩溃,EXPIRE未成功执行则会出现资源锁死的情况。 key不存在,将 key 设置为 value.如果 key 已存在,则不做任何操作 原子 – Redis的所有操 阅读全文

posted @ 2020-11-22 18:56 星河赵 阅读(100) 评论(0) 推荐(0) 编辑

mysql 存储引擎分类和事务隔离级别
摘要:mysql 存储引擎分类 myisam和innodb的区别 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务; 2. InnoDB支持外键,而MyISAM 阅读全文

posted @ 2020-11-22 18:51 星河赵 阅读(281) 评论(0) 推荐(0) 编辑

Mysql并发时经典常见的死锁原因及解决方法
摘要:1. mysql都有什么锁 MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁 阅读全文

posted @ 2020-11-22 18:43 星河赵 阅读(1470) 评论(0) 推荐(0) 编辑

tcp三次握手四次挥手大白话理解
摘要:tcp三次握手四次挥手大白话理解 三次握手建立连接阐述: 第一次握手:客户端要和服务端进行通信,首先要告知服务端一声,遂发出一个SYN=1的连接请求信号,”服务端哥哥,我想给你说说话”。 第二次握手:当服务端接收到客户端的连接请求,此时要给客户端一个确认信息,”我知道了(ACK),我这边已经准备好了 阅读全文

posted @ 2020-11-22 18:28 星河赵 阅读(1427) 评论(0) 推荐(0) 编辑

常见算法面试题
摘要:1.字符串交换位置时间复杂度O(n) 空间复杂度O(1) 输入 "abcde" 输出 "edcba" def jiaohuan(str1): s1 = list(str1) tmp = 0 for i in range(0, int(len(s1) / 2)): tmp = s1[i] s1[i] 阅读全文

posted @ 2020-11-22 15:49 星河赵 阅读(1287) 评论(0) 推荐(0) 编辑

数组
摘要:数组增删查的时间复杂度 阅读全文

posted @ 2020-11-21 12:31 星河赵 阅读(57) 评论(0) 推荐(0) 编辑

时间复杂度和空间复杂度
摘要:时间复杂度与代码结构的关系 解决代码步骤的方法论 阅读全文

posted @ 2020-11-21 08:26 星河赵 阅读(76) 评论(0) 推荐(0) 编辑

树(Tree)
摘要:树的结构十分直观,而树的很多概念定义都有一个相同的特点:递归,也就是说,一棵树要满足某种性质,往往要求每个节点都必须满足。例如,在定义一棵二叉搜索树时,每个节点也都必须是一棵二叉搜索树。 正因为树有这样的性质,大部分关于树的面试题都与递归有关,换句话说,面试官希望通过一道关于树的问题来考察你对于递归 阅读全文

posted @ 2020-11-17 23:20 星河赵 阅读(913) 评论(0) 推荐(0) 编辑

队列(Queue)
摘要:队列的特点 特点:和栈不同,队列的最大特点是先进先出(FIFO),就好像按顺序排队一样。对于队列的数据来说,我们只允许在队尾查看和添加数据,在队头查看和删除数据 实现:可以借助双链表来实现队列。双链表的头指针允许在队头查看和删除数据,而双链表的尾指针允许我们在队尾查看和添加数据。 双端队列(Dequ 阅读全文

posted @ 2020-11-17 23:12 星河赵 阅读(263) 评论(0) 推荐(0) 编辑

栈(Stack)的使用 LeetCode 第 20 题
摘要:特点:栈的最大特点就是后进先出(LIFO)。对于栈中的数据来说,所有操作都是在栈的顶部完成的,只可以查看栈顶部的元素,只能够向栈的顶部压⼊数据,也只能从栈的顶部弹出数据。 实现:利用一个单链表来实现栈的数据结构。而且,因为我们都只针对栈顶元素进行操作,所以借用单链表的头就能让所有栈的操作在 O(1) 阅读全文

posted @ 2020-11-17 23:03 星河赵 阅读(181) 评论(0) 推荐(0) 编辑

链表的优缺点以及例题 LeetCode 第 25 题
摘要:链表(LinkedList) 单链表:链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起。 双链表:与单链表不同的是,双链表的每个结点中都含有两个引用字段。 链表的优点如下: 链表能灵活地分配内存空间; 能在 O(1) 时间内删除或者添加元素,前提是该元素的前一个 阅读全文

posted @ 2020-11-17 22:17 星河赵 阅读(990) 评论(0) 推荐(0) 编辑

LeetCode 第 242 题:给定两个字符串 s 和 t,编写一个函数来判断 t 是否是 s 的字母异位词
摘要:示例 1 输入: s = "anagram", t = "nagaram" 输出: true 示例 2 输入: s = "rat", t = "car" 输出: false 一个重要的前提“假设两个字符串只包含小写字母”,小写字母一共也就 26 个,因此: 可以利用两个长度都为 26 的字符数组来统 阅读全文

posted @ 2020-11-17 22:04 星河赵 阅读(1007) 评论(0) 推荐(0) 编辑

将字符串翻转
摘要:举例:翻转字符串“algorithm” 准备两个指针,一个从前到中间遍历,一个从后向中间遍历,交换两个指针所指的字符。 注意:由于无法直接修改字符串里的字符,所以必须先把字符串变换为数组,然后再运用这个算法。 class Solution: def reverseString(self, s): " 阅读全文

posted @ 2020-11-17 21:32 星河赵 阅读(157) 评论(0) 推荐(0) 编辑

python 单例模式实现
摘要:Python单例模式实现 import settings import threading class TournamentRoomConfig(): """ 房间类 """ _instance_lock = threading.Lock() def __init__(self, room_id): 阅读全文

posted @ 2020-11-17 14:06 星河赵 阅读(137) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示