自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 数据库的优化方案

1.优化索引、SQL语句、分析慢查询2.设计表的时候严格根据数据库的设计凡事来设计数据库3.使用缓存,把经常访问到的数据且不经常变化的数据放在缓存中,节约磁盘IO4.优化硬盘,采用SSD,使用磁盘队列技术5.采用MySQL内部自带的表分区技术,把数据分成不同的文件,能够提高磁盘的读取效率6.垂直分表,把不经常读的数据放到一张表中,节约磁盘IO7.主从分离读写,采用主从复制把数据库的读操作和写入操作分离出来8.选择合适的表引擎(innodb和myisam)Innodb和myisam

2020-05-19 15:27:49 276

原创 Python 的命名空间

在 Python 中,所有的名字都存在于一个空间中,它们在该空间中存在和被操作——这就是命名空 间。它就好像一个盒子,每一个变量名字都对应装着一个对象。当查询变量的时候,会从该盒子里面寻 找相应的对象。python使用命名空间记录变量。python中的命名空间就像是一个dict,key是变量的名字,value是变量的值。在一个 Python 程序中的任何一个地方,都存在几个可用的命名...

2020-03-13 11:21:09 221

原创 __init__()方法和__new__()方法

class A(object): def __init__(self,*args, **kwargs): print "init A" def __new__(cls,*args, **kwargs): print "new A %s"%cls return object.__new__(cls, *ar...

2020-03-12 16:18:00 244

原创 关于Redis的若干问题

1、什么是RedisRedis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis与其他key-value缓存产品有以下三个特点:(1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载进行使用。(2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储。...

2020-02-20 13:41:00 303

转载 Python 的内存管理机制及调优手段

Python的内存管理机制:引用计数、垃圾回收、内存池引用计数:引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1. 当引用计数等于 0 时对象被删除。垃圾回收 :1. 引用计数引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引用计数降为...

2019-06-16 15:16:26 212

原创 redis与memcache区别以及应用场景

①redis支持更丰富的数据类型,共有5种(字符串,列表,hash,集合,有序集合),memcache只支持简单的字符串②redis可以数据持久化,它不仅会将数据放在内存中,还可以存到磁盘里部分,memcache会将数据存在内存中,最大存储量即内存大小③redis可以做主从④redis最大可以存1G,memcache最大1Mredis应用场景①session:可以做持久化②全页缓存(...

2019-06-14 16:26:53 370

原创 消息队列————RabbitMQ和kafka有什么区别?

1)在架构模型方面RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循环从输入流读取数据)...

2019-06-14 16:25:37 873

原创 Redis为什么会比MySQL快?

1.Redis是基于内存存储的,MySQL是基于磁盘存储的2.Redis存储的是k-v格式的数据。时间复杂度是O(1),常数阶,而MySQL引擎的底层实现是B+Tree,时间复杂度是O(logn),对数阶。Redis会比MySQL快一点点。3.MySQL数据存储是存储在表中,查找数据时要先对表进行全局扫描或者根据索引查找,这涉及到磁盘的查找,磁盘查找如果是按条点查找可能会快点,但是顺序查找...

2019-06-14 16:21:46 7539

原创 常见的反爬手段、原理以及应对思路

应对反爬的主要思路就是:尽可能的去模拟浏览器,浏览器在如何操作,代码中就如何去实现。1.通过User-Agent反爬爬虫发送请求时,请求头中默认没有User-Agent,或者提供非正常的UA。应对思路:在请求时添加UA具体应对: requests模块发送请求时在headers参数中UA键值对 selenium默认自带被控制浏览器的UA,也可以替换U...

2019-06-04 20:09:40 3373 1

原创 WSGI/uWSGI/uwsgi的区分

WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web server如何与web application通信的规范。要实现WSGI协议,必须同时实现web server和web application,当前运行在WSGI协议之上的web框架有Bottle, Flask, Django。...

2019-06-03 09:44:00 287

原创 网络传输方式-UDP和TCP

UDPUDP:英文全拼(User Datagram Protocol)简称用户数据报协议,它是无连接的、不可靠的网络传输协议。udp网络传输协议好比现实生活中写信。1.1 UDP特点因为udp发送数据之前不需要建立连接所有具有以下特点无连接 资源开销小 传输速度快 udp每个数据包最大是64K1.2 UDP的优缺点优点:传输速度快 不需要连接,资源开销小缺点:...

2019-05-27 12:20:49 1807

转载 TCP三次握手和TCP四次挥手

TCP三次握手标志位SYN: 表示连接请求 ACK: 表示确认 FIN: 表示关闭连接 seq:表示报文序号 ack: 表示确认序号 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 第二次握手:Server收到数据包后由标志位SYN=1知道Clie...

2019-05-24 16:52:17 117

原创 Mysql的锁机制

锁机制定义:当有事务操作时,数据库引擎会要求不同类型的锁定,如相关数据行、数据页或是整个数据表,当锁定运行时,会阻止其他事务对已经锁定的数据行、数据页或数据表进行操作。只有在当前事务对于自己锁定的资源不在需要时,才会释放其锁定的资源,供其他事务使用。我个人对锁的理解是,某线程想要执行某个事务中的某条sql,必须得有某个锁。如果没有该锁,要等待自己获得该锁后才能执行相应操作。共享锁(Sh...

2019-05-24 11:16:30 166

原创 MySQL的隔离级别

一、首先什么是事务?事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所有步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消之前到事务开始时的所有操作。二、事务的 ACID事务具有四个特征:原子性( Atomi...

2019-05-24 11:10:54 124

转载 mysql中innodb和myisam对比

InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了1、事务和外键InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能MyISAM管理非事务表。它提供高速存储和检索,以...

2019-05-24 11:02:55 392

原创 Python2与Python3的字符串区别

Python中的字符串类型和编码: 在Python3中: 1. bytes 类型 : 表示所有 非Uncode编码的数据(gbk、utf8、jpg、mp3、avi) 2. str 类型 : 表示 Unicode 字符串 注意:在Python3 代码里手动创建的字符串,默认都是 Unicode编码 (即 str 类型) ...

2019-05-24 10:53:50 307

原创 基于JWT token认证机制和基于session认证机制

基于session认证机制http协议本身是一种无状态的协议,而这就意味着如果用户通过应用向服务器提供了用户名和密码进行认证,下一次请求时,用户还要再一次进行用户认证,因为根据http协议,服务器并不知道是哪个用户发出的请求,所以,为了识别是哪个用户发出的请求,这样需要在服务器端存储一份用户登录信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给服务器进行验...

2019-05-23 14:57:37 299

原创 对MVC,MVT 的理解

MVC模式M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。 V全拼为View,用于封装结果,生成页面展示的html内容。 C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果过程: 1.用户在客户端或者浏览器,发生一个请求行为,将请求提交到服务器中 2.Controlle...

2019-05-17 20:44:32 596

转载 Python中的类对象、实例对象、属性、方法

先来一段代码class Cat(object): # 类对象 age= 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.name = 'xiaoming' # 公有实例属性 self.__sex = 'man' # 私有实例属性 def...

2019-05-15 20:15:08 192

原创 Python中 学习笔记之----魔法属性

无论人或事物往往都有一些含有特殊含义的文字,Python的类属性也是如此,存在着一些具有特殊含义的属性, ,详情如下:__getitem__、__setitem__、__delitem__用于索引操作,如字典。以上分别表示获取、设置、删除数据# -*- coding:utf-8 -*-class Foo(object): def __getitem__(self, key...

2019-05-15 15:24:48 116

原创 ETL理论知识

ETL数据抽取(EXtranct)、转换(Transform)、转载(load)的过程,它是构建数据仓库的重要环节。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析、数据挖掘的基础。ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据...

2019-05-13 20:02:35 1658

原创 Hadoop框架和HDFS介绍

Hadoop狭义的Hadoop VS 广义的Hadoop 广义的Hadoop:指的是Hadoop生态系统,Hadoop生态系统是一个很庞大的概念,hadoop是其中最重要最基础的一个部分,生态系统中每一子系统只解决某一个特定的问题域(甚至可能更窄),不搞统一型的全能系统,而是小而精的多个小系统; Hive:数据仓库R:数据分析Mahout:机器学习库pig:脚本语言,...

2019-05-11 21:51:05 479

原创 pandas.read_csv() 文件路径有中文时,报OSError: Initializing from file failed错误的解决办法

pandas.read_csv() 文件路径有中文时,报OSError: Initializing from file failed解决办法一:one_df=pd.read_csv(r'F:/数据分析/第二章/第二章/One.csv',engine='python')解决办法二:one=open(r'F:/数据分析/第二章/第二章/One.csv')one_df=...

2019-04-30 17:10:19 597

原创 在jupyter中读取CSV文件时出现‘utf-8’ codec can’t decode byte 0xd5 in position 0: invalid continuation byte解决方法

导入 importpandas as pd使用pd.read_csv()读csv文件时,出现如下错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd5in position 0: invalid continuation byte出现原因:CSV文件不是UTF-8进行编码,而是用gbk进行编码的。jupyter-not...

2019-04-11 22:15:17 19548 8

转载 MySQL索引的B+Tree查找原理

转自:http://blog.csdn.net/u013235478/article/details/50625677B-TreeB-Tree是为磁盘等外存储设备设计的一种平衡查找树。因此在讲B-Tree之前先了解下磁盘的相关知识。系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位的,位于同一个磁盘块中的数据会被一次性读取出来,而不是需要什么取什么。InnoDB存储引擎...

2019-03-19 08:37:35 1031

转载 POST和GET的区别

**GET请求:**请求的数据会附加在 URL 之后,以?分割 URL 和传输数据,多个参数用&连接。URL 的编码格式采用的是 ASCII 编码,而不是Unicode,即是说所有的非 Unicode字符都要编码之后再传输.POST请求: 请求会把请求的数据放置在 HTTP 请求包的包体中。因此,GET 请求的数据会暴露在地址栏中,而 POST 请求则不会。传输数据的大小: 在...

2019-03-16 14:41:58 80

空空如也

空空如也

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

TA关注的人

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