自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql查询

涉及:多表查询、exists、count()、group by、order by1.1 关系模式 学生student; SNO:学号; SNAME:姓名; AGE:年龄 ; SEX:性别课程course:CNO:课程代码,CNAME:课程名称,TEACHER:教师学生成绩SC:SNO:学号,CNO:课程代码,SCORE:成绩1.2 要求一 用SQL语言完成表的...

2019-04-16 22:02:20 2897

原创 Redis集群概念和配置

什么是集群:集群是一组相互独立的,通过高速网络互联的计算机,它们构成一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。为什么要集群:之前我们了解了主从的概念,一主可以多从。如果同时的访问量过大,主服务器就可能boom大公司都会有很多的服务器(华东地区、华南地区、华中地区、华北地区、西北西南等地区机房)redis...

2019-04-16 15:25:49 297

原创 认识Redis

redis是 Remote Dictionary Server (远程数据服务) 的缩写由意大利人 antirez (Salvatore Sanfilippo)开发的一款 内存高速缓存数据库。redis官网:(https://redis.io)该软件使用C 语言编写, 它的数据模型是 key-Value,并提供多种语言的API。它支持丰富的数据结构(类型), 比如String、list、...

2019-04-16 15:13:57 260

原创 django实现用户权限

我们经常会有这样的需求,给不同的用户显示不同的页面,这样的功能在Django是怎么实现在的呢?其实这个逻辑很简单,我们可以先预先设置好几个组,每个组显示的页面都不同,我们可以把用户分配到对应的组里面,具体来说:第一当然是建立用户表,我们选择重写Django自带的用户表,这样就是继承abstractuser了,然后再settings里填入AUTH_USER_MODEL = ‘users.User...

2019-04-10 22:41:49 1124

原创 Redis-Codis

Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis-Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis...

2019-04-10 20:28:04 211

原创 Redis线程IO模型

Redis 是个单线程程序 !也许你会怀疑高并发的 Redis 中间件怎么可能是单线程。很抱歉,它就是单线程,你的怀疑暴露了你基础知识的不足。莫要瞧不起单线程,除了 Redis 之外,Node.js 也是单线程,Nginx 也是单线程,但是它们都是服务器高性能的典范。Redis 单线程为什么还能这么快?因为它所有的数据都在内存中,所有的运算都是内存级别的运算。正因为 Redis 是单线...

2019-04-10 20:13:15 188

原创 Redis延时队列方案

总体方案创建一个定时任务,每一次执行完后间隔一定时间就会扫描缓存,缓存中一旦添加了任务,就会被扫描到,然后发送到消息队列,监听器一旦监听到消息就会进行处理,如果处理失败,则再次生成任务(次数加1,时间戳会根据规则增加),到达规定次数后则不在执行具体细节首先创建一个执行完后间隔’webhook.fixedDelay’后执行下一次,从缓存中取出数据,一旦取到数据就发送到消息队列中,并且删除掉缓存...

2019-04-10 20:11:27 676

原创 Redis延时队列

我们平时习惯于使用 Rabbitmq 和 Kafka 作为消息队列中间件,来给应用程序之间增加异步消息传递功能。这两个中间件都是专业的消息队列中间件,特性之多超出了大多数人的理解能力。使用过 Rabbitmq 的同学知道它使用起来有多复杂,发消息之前要创建 Exchange,再创建 Queue,还要将 Queue 和 Exchange 通过某种规则绑定起来,发消息的时候要指定 routing...

2019-04-10 20:05:41 3302

原创 Redis分布式锁

为什么:分布式应用进行逻辑处理时经常会遇到并发问题。比如一个操作要修改用户的状态,修改状态需要先读出用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行了,就会出现并发问题,因为读取和保存状态这两个操作不是原子的。(Wiki 解释:所谓 原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch 线程切换。)...

2019-04-10 20:02:15 211

原创 Scrapy常见问题

介绍下scrapy框架。scrapy 是一个快速(fast)、高层次(high-level)的基于 python 的 web 爬虫构架,用于抓取web站点并从页面中提取结构化的数据。scrapy 使用了 Twisted异步网络库来处理网络通讯。为什么要使用scrapy框架?scrapy框架有哪些优点?它更容易构建大规模的抓取项目它异步处理请求,速度非常快它可以使用自动调节机制自动调整爬行...

2019-04-10 19:55:08 249

原创 反爬虫之FONT-FACE拼凑式

这里教的是一个反爬措施。我先举个例子。猫眼电影这个就属于font-face拼凑式。这篇文章我从0开始演示如何制作及应用字符集映射进行数据保护反爬虫!web-font是CSS3中的一种标记 @font-face,在@font-face声明里,你可以声明一种字体,指定这种字体字体库文件从网络某个地址下载。简单的从爬虫角度跟大家说一下如何观察页面中的css反爬措施。首先看页面数据中的关键字,...

2019-04-10 19:49:54 432

原创 request模块使用大全

一、Request模块虽然Python的标准库中urllib模块已经包含了平时我们使用的大多数功能,但是它的API使用起来让人感觉不太好,而Request自称“HTTP for Humans”,说明使用更简洁方便。  Request继承了urllib的所有特性。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定相应内容的编码,支持国际化的URL...

2019-04-10 18:56:04 1865

原创 爬虫框架或者模块,他们的区别或者优缺点分析

Python 自带:urllib、urllib2第三方:requests框架: Scrapyurllib 和 urllib2 模块都做与请求 URL 相关的操作,但他们提供不同的功能。urllib2: urllib2.urlopen 可以接受一个 Request 对象或者 url,(在接受 Request 对象时候,并以此可以来设置一个 URL 的 headers),urllib.urlo...

2019-04-10 18:49:48 1221

原创 如何解决多并发的问题

1、负载均衡负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。(1)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高.(2)大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用2、数据库集群就是利用至少两...

2019-04-10 18:38:52 780

原创 github如何删除库

1、点击你所要删除的库2、点击顶部的settings3、然后下拉至底部,点击如下按钮4、输入你要删除的项目名称,确认删除

2019-04-10 18:34:06 288

原创 在linux 的ubuntu 下 用 Git 命令 将本地项目上传到 Github

流程就是:1.在你的环境下 安装好git 创建好版本库2.你要先注册一个github账户,然后新建一个仓库 Repositories3.添加ssh 账户4.克隆项目5.将你自己本地项目文件夹 复制到你 在github上克隆的项目下6.上传—先跟踪你的文件夹,再提交,再推送到主分支。然后稍等一下,就能看到github网站上你的仓库有你的项目了安装git安装与配置(1)安装命令如下:...

2019-04-10 18:31:27 987

原创 使用git将项目上传至github

1、首先键入Github首页,点击New repository新建一个项目2、填写信息点击createrepository name 仓库名称description 仓库描述介绍public,private 仓库权限Initialize this repository with a README 添加一个README.mdgitignore 不需要进行版本管理的仓库类型,对应生成文件...

2019-04-10 13:46:37 237

原创 Django网站数据库之读写分离

Linux下的mysql安装2台Centos7 虚拟机Server 主Ip 10.10.16.229Client 从Ip 10.10.16.141关闭防火墙测试ping基于mysql的Django读写分离在Linux安装mariadb数据库Centos7下mariadb生成环境安装命令:yum -y install mariadb mariadb-server启动mari...

2019-04-10 13:41:33 187

原创 Django项目发布之centos下Python2与python3并存环境部署

python环境部署将Django项目部署到linux服务器上,的linux系统是centos7,在这基础之上开始在linux搭建python3环境。首先,centos系统自带的python2不可以删除,要做到python2与python3并存。(1)安装python3的依赖包命令为:[root@localhost Desktop]# yum -y install zlib-devel b...

2019-04-10 13:25:29 189

原创 Django项目发布之Django项目的nginx部署

发布Django项目之前首先要做的是环境部署,下面以Vmware虚拟机为例子。首先开始安装linux服务器,作为Django项目的发布服务器。当然·也可以用晕住机作为主机。(1)择创建虚拟机(2)选择典型安装(3)选择镜像安装这里我们需要找到自己的镜像位置(4)选择安装的路径和项目的名称这里文件的路径设置尽量简洁,方便查找(5)选择磁盘的容量(6)自定义硬件(7)修...

2019-04-10 11:31:44 199

原创 HTTP状态码详解

什么是http状态码?当我们访问一个网页时,浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。常见的http状态码:200 - 请求成功301 - 资源(网页等)被永久转移到其它URL404 - 请求的资源(网页等)...

2019-04-10 11:30:32 337

原创 总结MySQL 8种性能优化方式

一、设置索引索引是一种可以让SELECT语句提高效率的数据结构,可以起到快速定位的作用。索引的优缺点:优点:某些情况下使用select语句大幅度提高效率,合适的索引可以优化MySQL服务器的查询性能,从而起到优化MySQL的作用。缺点:表行数据的变化(index、update、delect),简历在表列上的索引也会自动维护,一定程度上会使DML操作变慢。索引还会占用磁盘额外的存储空间。M...

2019-04-09 21:18:41 17404

原创 Nginx性能优化

简介在大多数情况下,一个常规安装的Nginx对网站来说已经能很好地工作了。然而如果想挤压出Nginx的性能,就需要了解哪些指令会影响Nginx性能,在本文中将解释Nginx的哪些设置可以微调。需要注意一点,这是一个简单的预览——那些可以通过微调来提高性能设置的概述,不同的环境可能情况不太一样。对于Nginx的调优,可以大致从如下指令着手:worker_processesworker...

2019-04-09 19:44:43 218

原创 进程创建及使用

进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序,进程是系统资源分配的最小单位,进程拥有自己独立的内存空间,所有进程间数据不共享,开销大。僵尸进程:进程使用fork创建子进程,如果子进程退出,而父进程没有调用wait获取waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中的这些进程是僵尸进程。孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿...

2019-04-09 19:34:33 232

原创 TCP和UDP协议的简介以及区别

TCP:传输控制协议这是一个面向连接的传输协议,在发送数据之前,要和对方建立可靠的连接。一个TCP连接必须经过三次握手才能建立,经过四次挥手才能断开。三次握手:客户端向服务器发送syn请求建立连接;服务器向客户端发送syn以及ack确定是否建立连接?客户端向服务器发送ack确定建立连接。四次握手:客户端向服务器发送fin请求断开连接;服务器向客户端发送数据包;服务器向客户端fin以及...

2019-04-09 19:14:57 158

原创 个人对爬虫框架Scrapy的理解

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取的数据内容。Scrapy使用了Twisted一部网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。scrapy框架的工作流程:首先Spider(爬虫)将需要发送请求的url(requests)经ScrapyEngin...

2019-04-09 19:13:03 182

原创 Cookie以及Session的定义以及区别

Cookie以及Session的定义:Cookie:cookie 机制采用的是在客户端保持状态的方案。Session:session 机制采用的是在服务器端保持状态的方案。cookie 机制:正统的 cookie 分发是通过扩展 HTTP 协议来实现的,服务器通过在 HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的 cookie。然而纯粹的客户端脚本如 JavaScript...

2019-04-09 19:04:37 109

原创 Mysql命令大全

mysql本地登录一共三个参数 host : -h 服务器地址(本地地址是localhost)本本机登录可以忽略 user :-u 用户名【一般是root】 password : -p 密码alter table 表名 AUTO_INCREMENT (id从几开始);查看版本 status sele...

2019-04-09 19:00:54 677

原创 Django和Flask的区别

Django走的是大而全的方向,开发效率高。它的MTV框架,自带ORM,admin后台管理,自带的sqlite数据库和开发测试用的服务器,给开发者提高了开发效率。重量级的web框架,功能齐全,提供一站式的解决思路,能让开发者不用在选择上花费大量的时间。自带ORM和模板引擎,支持jinja等非官方模板引擎。自带ORM使Django和关系型数据库耦合度高,如果要使用非关系型数据库,需要使用第三方库...

2019-04-09 18:54:00 188

原创 web网站架构和Nginx

①:网站架构原理②:LNMP(基于python的web架构)Linux+nginx+mysql+python静态资源:客户端从服务器获得的资源表现形式与原文件相同动态资源:通常是程序文件,需要服务器执行后,将执行结果返回给客户端。注意:httpd服务器是纯静态的web服务器。③:主流httpd服务器:Apache Nginx④:WSGI:Web服务器网关接口(Python Web ...

2019-04-09 18:47:00 271

原创 django项目的setting设置汇总

1.配置静态文件2.mysql数据库配置split3数据库配置3.设置打印日志到屏幕4.语言5.配置模板6.setting文件默认代码注释

2019-04-09 18:39:01 524

原创 关于进程、线程、协程定义、区别、应用场景

一、概念1、进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。2、线程线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运...

2019-04-09 16:44:49 1242

原创 python 模型 ORM简介

Django之ORM (Object Relational Mapping(ORM)一.ORM介绍1.ORM概念对象关系映射模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.2.ORM由来让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我...

2019-03-20 10:51:56 1143

原创 makemigrations 和 migrate区分

内容大致是makemigrations 和 migrate 工作原理分别是什么makemigrations:根据检测到的模型创建新的迁移。迁移的作用,更多的是将数据库的操作,以文件的形式记录下来,方便以后检查、调用、重做等等。migrate:使数据库状态与当前模型集和迁移集同步。说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建、修改、删除数据表,新增、修改...

2019-03-06 13:43:33 1087

原创 Django内置user模型

Django Auth模块自带User模型所包含字段username:用户名email: 电子邮件password:密码first_name:名last_name:姓is_active: 是否为活跃用户。默认是Trueis_staff: 是否为员工。默认是Falseis_superuser: 是否为管理员。默认是Falsedate_joined: 加入日期。系统自动生成。平时...

2019-03-06 13:21:01 546

原创 数据结构关于数据结构知识

数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。名词定义 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。记为:Data_Structure=(D,R)其中D是数据元素的...

2019-03-06 13:02:01 746

原创 Pycharm的项目文件名变红色的原因及解决办法

**Pycharm的项目文件名变红色的原因及解决办法今天在继续学习Python时,打开Pycharm后,发现有一个项目下的项目文件名是红色的,如下图:刚开始我以为是我升级 Pycharm导致的,当我点开setting/project Interpreter看当前环境并add时,才发现问题的原因:是我以前将Word设置成了Git的一个仓库,但是当时这些文件我并没有添加到Git里,所以会显示为...

2019-03-06 12:53:40 23690 3

原创 彻底删除mysql服务(清理注册表)

彻底删除mysql服务(清理注册表)前言由于安装某个项目的执行文件,提示要卸载MySQL以便它自身MySQL安装,然后我禁用了MYSQL服务,再把这个文件夹删除后,发现还是提示请卸载MYSQL服务。禁用服务方式如下:或者 我的电脑右键->管理->服务,进入后手动禁用。通过网上查询后总结如下:1.在cmd中,输入sc delete mysql,删除服务。2.但是MY...

2019-01-23 17:00:32 906

原创 error---list index out of range

list index out of range今天在做循环输出列表中的值时遇到了如下问题,代码如下:详解:定义一个列表是s把s列表的长度赋值到l输出列表长度l循环l列表的元素输出列表元素索引在检查代码发现错误在 for循环for in range(0,l+1)l = 5所以 range(0,6)for循环输出 s[0]~s[5]s = [‘1’,‘2’,‘3’,‘...

2019-01-18 23:14:13 315

转载 cookie

Cookie:在客户端存储的信息  ——Cookie名称和值可以由服务器端开发自己定义,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等  ——存储位置:Cookie信息是纯文本信息,据说现在Windows权限管理严格了,放在用户下cookie随机生成的文件夹里了,这不重要  ——信息存储形式:键值对  ——Cookie基于域名安全,不同域名的Cookie是不能互相访问的,当浏览...

2019-01-18 21:33:56 108

空空如也

空空如也

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

TA关注的人

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