自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

9527

python

  • 博客(118)
  • 收藏
  • 关注

原创 Elastalert的spike规则

简单来说,spike规则能够对比前后两个相邻时间段的事件数,当二者事件数满足一定条件时,发出报警。该规则在官方文档以及各论坛中的解释均有些模糊,且说法不一,因此通过python源码来查看其报警匹配规则是一个最好的途径def find_matches(self, ref, cur): """ Determines if an event spike or dip happenin...

2020-01-16 11:31:27 512

原创 nifi的一些小流程

replace配置1replace配置2evaluteJsonPathSplitJsonJoltTransformJsonPutelasticasearchHttp从splitJson后面的第二条线evaluteJsonPathAttributetoJsoninvokeHttp结构图

2019-12-03 14:58:51 264

原创 Flask的API怎么写?flask-restful模块使用介绍

其实使用flask写接口,使用jsonify就很方便了,但是现在rest风盛行,所以flask也有相关的rest风格接口库,就是flask-resrful模块直接在你的环境中安装这个模块就好了pip install flask-restful安装好了之后我们起一个flask项目,就可以使用了我这里附上一段简单的代码:from flask import Flaskfrom flask_...

2019-10-24 14:32:31 1586

原创 数据库在读写分离之后,django项目中怎么配置呢?

降低服务器压力,提高性能,提高并发量,那么对数据库的读写分离,分库分表分区等操作就必不可少,那么在数据库我们设计完之后,在django项目中怎么使用呢?首先,先在数据库中配置主从数据库,并定义一个数据库路由DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '1...

2019-10-10 21:35:43 261 1

原创 RabbitMQ消息队列的安装,以及在python中的简单使用

RabbitMQ作为一个企业级的被广泛使用的消息队列,其强大自然不需多说,任务堆积能力,并发能力,分布式,高可用,支持多协议等等,这次就讲讲怎么在虚拟机上部署RabbitMQ我是在centos7上进行部署的RabbitMQ是erlang编写的,我们必须先安装erlang才行,我们使用源码安装wget http://erlang.org/download/otp_src_21.1.tar.gz...

2019-10-10 15:37:42 272

原创 elasticsearch之增删改查与其他基本操作

要安装elasticsearch就要安装1.8版本以上的java的JDK我是在windows下安装的elasticsearch下载java的1.8以上的JDK,elasticsearch,kibana,ik分词的链接kibana的下载地址elasticsearch6.5.4的下载地址ik分词器下载java1.8JDK下载地址java下载完后需要配置环境变量,我是在win7下配置的,下...

2019-09-25 22:27:46 440

原创 PostgreSql数据库增删改查以及其他基本命令

先来安装一波,我在docker上安装的#先运行docker,我使用的是自定义的centos+vim镜像docker run -itd --name pgsql centos-vim /usr/sbin/init #然后执行docker容器docker exec -it pgsql /bin/bash#按以下命令安装postgresql数据库yum install https://...

2019-09-24 23:02:37 5696

原创 django之注册会员发送短信验证码的业务

现在注册会员要么就是邮箱激活,要么就是发送短信验证码邮箱很简单,在163或者qq邮箱开启smtp服务器,然后使用django内置的smtp模块,配置一些邮箱参数,加入celery异步任务发送邮件就行了,今天这篇文章主要讲一下短信验证码服务我们采用阿里云短信服务进入到aliyun短信服务页面直接用支付宝账号登录登录后在鼠标悬停在头像这里,里面有个accesskeys的功能,点进去就可...

2019-09-24 10:33:16 331

原创 docker自定义镜像以及基本操作指令

docker中自定义镜像这是一项基本操作,这样我们可以很方便的获取到一个完美的环境自定义镜像一般都是通过打包容器获取到的,无论是commit还是dockerfile,dockerfile说到底还是要执行一次commit1,使用docker commit命令自定义镜像我带大家走一遍完整的流程安装docker,并查看docker的版本验证docker是否安装好了yum install doc...

2019-09-23 21:57:34 557

原创 mysql索引详解以及使用案例

在mysql当中,索引的重要性不言而喻,直接影响到项目的效果,那现在,我就和大家分享一下关于索引的知识什么是索引索引是一个单独的,存储在磁盘上的数据结构,他们包含着对数据表里所有记录的引用指针,所有mysql列类型都可以被索引,同时也是提高查询速度的主要手段。索引是在储存引擎中实现的,因此每种储存引擎的索引都不一样,也不是每种储存引擎都支持所有的索引类型。mysql中索引的储存类型有两种:...

2019-09-22 21:09:41 323

原创 基于docker+mysql+mysql-proxy的数据库读写分离功能

我这里使用的是mysql_proxy来实现读写分离,在实现读写分离之前,我使用了docker搭建了主从备份的环境,这是实现读写分离的前提,怎么实现主从备份呢?请看我的这篇文章mysql+docker搭建主从备份好,开始步骤1,先把docker运行起来,主从都要起2,下载mysql_proxywget https://downloads.mysql.com/archives/get/fil...

2019-09-12 18:04:34 1128 2

原创 基于docker的mysql数据库主从备份,详细步骤,亲测有效

这之前,如果你没有docker,先下一个yum install dockerdocker version下好之后看docker version,能看到就算是安装成功了然后docker pull mysql:5.7这里以mysql57版本为例创建并启动一个master主数据库docker run -p 3339:3306 --name mymysql -e MYSQL_ROO...

2019-09-12 10:21:46 1040

原创 supervisor管理并监控服务器任务进程,安装及其管理的相关命令

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选...

2019-09-11 21:11:51 880

原创 upstream prematurely closed connection while reading response header from upstream

项目部署在云服务器一段时间之后,我发现当我在上传图片的时候,nginx就会给我报502的错误,以前是不会的,然后查看日志,就发现了‘upstream prematurely closed connection while reading response header from upstream’这句话,去文档看过,在网上找过,大部分给出的答案都是上游服务器连接超时,要在nginx里面配置超时...

2019-09-11 19:06:05 4629

原创 python中的协程基本介绍以及简单使用,协程是什么?

先理解什么是协程:1,协程又称微线程,它的上下文切换不是由cpu进行控制。2,一个线程中可以包含多个协程,对cpu而言,并不存在协程这个概念。3,通俗来说,协程就是协同多任务。4,协程拥有自己的寄存器上下文和栈,协程调度切换到其他协程时,将寄存器上下文和栈保存,在切回到当前协程的时候,恢复先前保存的寄存器上下文和栈。协程有什么优点?1,无需负担上下文切换的开销。2,不需要加锁。3,...

2019-09-11 14:44:14 1044

原创 python中的命名空间,作用域和lambda匿名函数详解

命名空间的定义命名空间指的是保存程序中的变量名和值的地方。命名空间的本质是一个字典, 用来记录变量名称和值。字典的 key 是变量的名称,字典的 value 对于的是变量 的值。 例如 {‘name’:’zs’,’age’:10}命名空间一共分为三种:局部命名空间、全局命名空间、内置命名空间1,局部空间: 每个函数都有自己的命名空间,叫做局部空间,它记录了函数的变量,包括函数 的参数 和...

2019-09-11 00:13:00 744

原创 关于树,二叉树,满二叉树,完全二叉树的详细介绍以及其储存形式,查找算法等解释

在了解二叉树之前,我们先来看一下树的定义树, 木本植物之总名,主要由根、干、枝、叶、花、果组成。。。。皮一下很开心进入正题了1,树是有n(n>=0)个结点组成的有限集合T,n=0时称为空树,若n>1时,其余结点被分为m(m>0)个互不相交的子集T1,T2…Tm,其中每个子集本身又是一棵树,称其为根的子树(Subtree)。这是树的递归定义,即用树来定义树,只有一个结点...

2019-09-10 23:04:17 977

原创 python多进程的threadlocal对象

在多线程的环境下,某些特定场景,多线程使用自己的局部变量比使用全局变量要好,不会影响其他线程因此不用加锁但是线程在使用局部变量的时候也有缺点,就是当多层函数调用的时候,参数传起来不是很方便,如:这样传参,如果调用的函数较多较频繁,则很麻烦再如,我们可以使用全局字典的方式进行提取每个线程自己对应的值,取消传参的操作,如:将线程的名字作为键,变量直接传入字典中作为对应线程键的值这样也可以...

2019-09-10 17:37:28 160

原创 多进程与多线程的区别

https://blog.csdn.net/weixin_45154837/article/details/100690909关于多进程的文章https://blog.csdn.net/weixin_45154837/article/details/100138135关于多线程的文章进程与线程的关系,什么场景下该用哪一个?各自的优点与缺点?进程与线程的关系每个进程中都至少有一个线程区...

2019-09-10 16:47:48 218

原创 python多进程之间的通信与进程池的使用

进程是资源分配的最小单位,线程是cpu调度的最小单位每个进程都会申请独立的资源,相互隔离t1 = []def add_num(num): list1.append(num) print(list1)if __name__ == '__main__': p_list = [] for i in range(10): p = Process...

2019-09-10 14:36:49 498

原创 如何在服务器上设置业务进程数?

打开nginx的配置文件nginx.conf我的是在/etc/nginx/nginx.conf路径下然后配置参数#2核CPU,开启2个进程worker_processes 2;worker_cpu_affinity 01 10;worker_processes 是设置工作进程数数量worker_cpu_affinity 是分配工作进程在哪个cpu上双核的话就是0...

2019-09-09 23:09:20 582

原创 nginx的优点,负载均衡以及动静分离等知识点浅析

问:什么是nginx?答:nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP这些邮件协议的代理服务器,高可靠性,支持高并发性,低系统资源消耗性,使得nginx火遍全球问:nginx有什么优点?答:1,快速响应:nginx的单次请求会得到更快的响应,另一方面,在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请求(官方说ngin...

2019-09-09 21:03:45 1632

原创 numpy矩阵的创建和运算

numpy的矩阵可以由矩阵,数组甚至列表转换而来,接下来看一下实例import numpy as np# 创建矩阵 ---必须是二维的# mat 生成矩阵的方法1m1 = np.mat("1 2 3;4 5 6;7 8 9")m2 = np.mat([[1,2,3],[4,5,6],[7,8,9]]) # 可以将列表转化为矩阵m3 = np.mat(np.array([[[1,2,...

2019-09-09 19:05:57 4050

原创 numpy数组的索引,拼接与拆分

给了一个一维数组和二维数组,然后围绕着数组进行实验arr = np.arange(16) #生成一维数组print("arr:\n",arr)print("arr 的 形状:\n",arr.shape)print("arr 的 ndim:\n",arr.ndim)# 获取单个元素---可以通过下标来访问单个元素data = arr[4]print("data:\n",data)...

2019-09-09 15:09:24 620

原创 mysql数据库中,表和表之间左连接,内连接,外连接的含义和区别?

inner join:内连接查询,查询结果集为两个表匹配到的数据left join:左连接查询,结果集为两个表匹配到的数据,但是以左表为准,也就是说,如果左表存在而不满足右表条件的数据,也会展示在结果集中,对于右表中不 存在的数据使用 null 填充。right join:右连接查询,结果集为两个表匹配到的数据,但是以有表为准,也就是说,如果右表存在而不满足左表条件的数据,也会展示在结果集中,...

2019-09-09 11:09:43 747

原创 当我们访问一个网站时,返回页面的过程发生了什么?

以百度为例:1,浏览器向DNS服务器发送www.baidu.com发送域名解析请求2,DNS服务器返回解析后的IP地址给客户端浏览器,浏览器向该IP发送页面请求3,服务器接收到请求后,查询该页面,并将页面资源返回给客户端浏览器4,客户端浏览器收到页面后,解析其中的引用,并再次向服务器发送资源请求5,服务器接收请求,返回相关资源给到客户端浏览器6,客户端收到资源后,渲染并输出页面向用户展...

2019-09-09 10:36:19 583 1

原创 mysql数据库当误删库之后怎么恢复数据?binlog日志功能使用实战

当数据库被误删或者表被误删,怎么恢复之前的数据库?我这里是在windows环境下使用,如果你是使用在linux下,请参考这一篇文章:https://blog.51cto.com/qiuyt/2135525这里要是用要的是mysql自带的binlog日志功能,这个功能默认情况下是没有开启的,所以我们需要修改一下mysql.ini的配置文件,开启binlog日志。在mysql.ini文件中加...

2019-09-08 22:18:18 1226

原创 python中的numpy库的简单使用,数组对象的属性与方法,类型等

Numpy是用于数据科学计算的基础,不但能够完成科学计算任务,还能被 用作高效地多维数据容器。用于存储和处理大型矩阵。Python提供了一个array模块,和list不同,它直接保存数值,但是由于 Python 的array模块不支持多维,也没有各种运算函数。Numpy 弥补了这一遗憾。Numpy提供了一种存储单一数据类型的多维数 组——ndarray(下文统称数组)数组是用一块整体的内存来...

2019-09-08 20:49:18 931

原创 redis的内存淘汰机制以及过期策略

我们平常在使用redis数据库的时候,经常对插入的数据有一个过期时间的要求,在设置过期时间的时候,我们设置起来是非常的方便,给一个expire就行了,那你知道过期时间到了之后,redis会对这些数据做什么处理吗?肯定是删除操作,但是删除的方法会有不同:1,定时删除:当我们存入数据给键设置过期时间时,可以开启一个定时任务Timer,当数据过期时间到时删除键内存友好型策略,一旦键过期,就会被删除...

2019-09-08 10:49:52 214

原创 redis数据库的事务机制

redis虽然是nosql数据库,但是作为被使用广泛的缓存性高速数据库,当一个键被多个请求同时访问时,如何保证数据安全呢?其实redis也是有事务机制的,redis的事务机制类似于批处理功能,一旦开启,不允许被打断事务机制的五个常用命令1,watch2,unwatch3,multi4,EXEC5,discard为了保证事务的一致性,开启事务前必须使用watch命令监视要操作的记录...

2019-09-08 00:11:47 216

原创 mysql数据库查询优化,该从哪几个方面进行优化?

当mysql数据库中数据越来越多的时候,或许我们会发现查询的效率越来越低了,可能低到令人发指的地步,仅仅查询几条数据就要要十几秒甚至几十秒钟,这是十分致命的,如果用户访问你的网站,十几秒过去了数据都加载不出来,那么造成的用户流失是不可想象的。于是乎,我们就要分析是什么造成了数据库查询效率低下。一般来讲,造成这种结果有下面这几个原因:1,sql语句与索引2,表结构3,储存引擎4,网卡流量...

2019-09-07 23:59:13 660

原创 mysql的慢查询日志

当我们做项目的时候,大部分工作都是围绕在数据库的增删改查的使用上,但是,当我们发现,在我们访问项目网站的时候,访问时间过久,就要考虑做一些优化了,其中,数据库的优化又必不可少,那么,如何去有针对性的对数据库进行优化呢?首先,我们要知道在数据库操作中,尤其是数据库查询的时候,是哪里影响了读取数据,这就需要用到mysql中的慢查询日志了当查询的时间超出了我们预定的时间值,那么这个查询操作就会被记录...

2019-09-06 22:53:04 103

原创 mysql数据库的增删改查

关于mysql我真的有好多话想多比如mysql的事务机制啊,mysql的隔离等级的,mysql的索引机制啊,mysql的常用函数啊,mysql的六大范式啊,mysql的视图啊,mysql的触发器啊等等,太多了,今天我仅仅和大家分享一下mysql的三大语言类,,,中的一种,DML数据操作语言,增删改查。先给两张表给大家做例子给两张表是让大家知道我接下来的sql语句用的是哪些字段,更好的理...

2019-09-06 21:02:00 302

原创 python与mongoDB交互,怎么与mongoDB建立数据库连接?

mongoDB作为存储海量低价值数据的首选数据库,在很多场景都能看到它的身影,它也是一款最像关系型数据库的非关系型数据库from pymongo import MongoClient #导入客户端代理client = MongoClient(host='localhost',port=27017) #建立连接client.admin.authenticate('admin','123...

2019-09-06 11:47:26 386

原创 python怎么建立redis的连接,建立与redis数据库的两种方法

redis与mysql一样,是大家常用的数据库了,这里就和大家分享一下怎么用python与redis数据库建立连接方法1:import rediscon = redis.Redis( #创建redis连接 host='localhost', port=6379, password='123', #redis数据库没有用户名 db=0)con.hms...

2019-09-06 11:36:35 866

原创 mysql与python的交互,pymysql模块和mysql模块怎么与数据库进行连接?

使用pymysql与数据库建立连接方法1:import pymysqlcon = pymysql.connect( #创建连接 host='localhost', #地址 port=3306, #端口号 user='root', #用户 password=123, #密码 db='db1' #选择数据库)cursor = con....

2019-09-06 11:28:15 298

原创 hash表是怎么生成的?哈希表浅析

hash表的用途十分广泛,通俗来讲,hash表是一个用来存储key-value键值对的集合。每一个键值对也叫做Entry,这些Entry会分散的储存在一个数组当中,这个数组就是HashMap的主干python中有许多数据类型都是使用hash表实现的,比如字典,集合,计数器等。接下来我们来实现一个简单的hash表,在写代码之前,我们先大致了解一下hash表是怎么储存数据的例如有一个数据{‘a...

2019-09-06 00:14:38 1401

原创 redis怎么设置密码?

方法1:在redis.conf中设置,修改requirepass这个配置项,后面跟你的密码重启后生效,密码尽可能的设置长些,因为redis的保护机制非常弱,而且访问速度又快,一秒钟可以试上十万个密码方法2:命令行设置密码,不需要重启就可以生效,在重启之后依然有效,config set requirepass kkkkkkk123验证后密码生效auth kkkkkkk123查看密码...

2019-09-05 22:18:02 647

原创 redis的AOF文件越来越大该怎么解决?

使用rewirte机制,rewrite机制现在达到一定的条件redis会自动触发其具体的流程就是:1,redis主进程fork一个子进程2,子进程根据当前内存的数据,构建一个新的日志,写入一个新的AOF文件中3,这段时间内,redis接收到的client的修改操作,都会在内存中新起一个日志文件去进入,并同步到旧的AOF文件中4,当子进程完成了任务,redis就会把新的日志文件追加到新的A...

2019-09-05 22:07:26 5382 1

原创 Redis的数据持久化

redis的数据持久有一般有两种策略供选择1,RDB策略2,AOF策略RDB是一种将内存中数据集快照写入磁盘的策略,它可以定时将数据集快照以二进制压缩的形式写入到RDB文件中,如果写入顺利完成,则覆盖掉之前的RDB文件。AOF是将数据库的增删改操作以日志形式记录的文本记录方法二者的比较:RDB:1,RDB因为是定时持久化,因此一旦发生宕机而没有及时持久化,则会出现大量数据丢失的场景...

2019-09-05 21:12:33 128

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除