python
文章平均质量分 89
墨 云
这个作者很懒,什么都没留下…
展开
-
Django项目发布之Django项目的nginx部署
发布Django项目之前首先要做的是环境部署,下面以Vmware虚拟机为例子。首先开始安装linux服务器,作为Django项目的发布服务器。当然·也可以用晕住机作为主机。(1)择创建虚拟机(2)选择典型安装(3)选择镜像安装这里我们需要找到自己的镜像位置(4)选择安装的路径和项目的名称这里文件的路径设置尽量简洁,方便查找(5)选择磁盘的容量(6)自定义硬件(7)修...原创 2019-04-10 11:31:44 · 130 阅读 · 0 评论 -
Redis线程IO模型
Redis 是个单线程程序 !也许你会怀疑高并发的 Redis 中间件怎么可能是单线程。很抱歉,它就是单线程,你的怀疑暴露了你基础知识的不足。莫要瞧不起单线程,除了 Redis 之外,Node.js 也是单线程,Nginx 也是单线程,但是它们都是服务器高性能的典范。Redis 单线程为什么还能这么快?因为它所有的数据都在内存中,所有的运算都是内存级别的运算。正因为 Redis 是单线...原创 2019-04-10 20:13:15 · 144 阅读 · 0 评论 -
Redis-Codis
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis-Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis...原创 2019-04-10 20:28:04 · 165 阅读 · 0 评论 -
django实现用户权限
我们经常会有这样的需求,给不同的用户显示不同的页面,这样的功能在Django是怎么实现在的呢?其实这个逻辑很简单,我们可以先预先设置好几个组,每个组显示的页面都不同,我们可以把用户分配到对应的组里面,具体来说:第一当然是建立用户表,我们选择重写Django自带的用户表,这样就是继承abstractuser了,然后再settings里填入AUTH_USER_MODEL = ‘users.User...原创 2019-04-10 22:41:49 · 1035 阅读 · 0 评论 -
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 · 230 阅读 · 0 评论 -
总结MySQL 8种性能优化方式
一、设置索引索引是一种可以让SELECT语句提高效率的数据结构,可以起到快速定位的作用。索引的优缺点:优点:某些情况下使用select语句大幅度提高效率,合适的索引可以优化MySQL服务器的查询性能,从而起到优化MySQL的作用。缺点:表行数据的变化(index、update、delect),简历在表列上的索引也会自动维护,一定程度上会使DML操作变慢。索引还会占用磁盘额外的存储空间。M...原创 2019-04-09 21:18:41 · 17169 阅读 · 0 评论 -
关于进程、线程、协程定义、区别、应用场景
一、概念1、进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。2、线程线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运...原创 2019-04-09 16:44:49 · 1087 阅读 · 0 评论 -
django项目的setting设置汇总
1.配置静态文件2.mysql数据库配置split3数据库配置3.设置打印日志到屏幕4.语言5.配置模板6.setting文件默认代码注释原创 2019-04-09 18:39:01 · 450 阅读 · 0 评论 -
Django和Flask的区别
Django走的是大而全的方向,开发效率高。它的MTV框架,自带ORM,admin后台管理,自带的sqlite数据库和开发测试用的服务器,给开发者提高了开发效率。重量级的web框架,功能齐全,提供一站式的解决思路,能让开发者不用在选择上花费大量的时间。自带ORM和模板引擎,支持jinja等非官方模板引擎。自带ORM使Django和关系型数据库耦合度高,如果要使用非关系型数据库,需要使用第三方库...原创 2019-04-09 18:54:00 · 142 阅读 · 0 评论 -
HTTP状态码详解
什么是http状态码?当我们访问一个网页时,浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。常见的http状态码:200 - 请求成功301 - 资源(网页等)被永久转移到其它URL404 - 请求的资源(网页等)...原创 2019-04-10 11:30:32 · 202 阅读 · 0 评论 -
认识Redis
redis是 Remote Dictionary Server (远程数据服务) 的缩写由意大利人 antirez (Salvatore Sanfilippo)开发的一款 内存高速缓存数据库。redis官网:(https://redis.io)该软件使用C 语言编写, 它的数据模型是 key-Value,并提供多种语言的API。它支持丰富的数据结构(类型), 比如String、list、...原创 2019-04-16 15:13:57 · 203 阅读 · 0 评论 -
Redis集群概念和配置
什么是集群:集群是一组相互独立的,通过高速网络互联的计算机,它们构成一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。为什么要集群:之前我们了解了主从的概念,一主可以多从。如果同时的访问量过大,主服务器就可能boom大公司都会有很多的服务器(华东地区、华南地区、华中地区、华北地区、西北西南等地区机房)redis...原创 2019-04-16 15:25:49 · 230 阅读 · 0 评论 -
Redis延时队列方案
总体方案创建一个定时任务,每一次执行完后间隔一定时间就会扫描缓存,缓存中一旦添加了任务,就会被扫描到,然后发送到消息队列,监听器一旦监听到消息就会进行处理,如果处理失败,则再次生成任务(次数加1,时间戳会根据规则增加),到达规定次数后则不在执行具体细节首先创建一个执行完后间隔’webhook.fixedDelay’后执行下一次,从缓存中取出数据,一旦取到数据就发送到消息队列中,并且删除掉缓存...原创 2019-04-10 20:11:27 · 618 阅读 · 0 评论 -
Redis延时队列
我们平时习惯于使用 Rabbitmq 和 Kafka 作为消息队列中间件,来给应用程序之间增加异步消息传递功能。这两个中间件都是专业的消息队列中间件,特性之多超出了大多数人的理解能力。使用过 Rabbitmq 的同学知道它使用起来有多复杂,发消息之前要创建 Exchange,再创建 Queue,还要将 Queue 和 Exchange 通过某种规则绑定起来,发消息的时候要指定 routing...原创 2019-04-10 20:05:41 · 3214 阅读 · 0 评论 -
Redis分布式锁
为什么:分布式应用进行逻辑处理时经常会遇到并发问题。比如一个操作要修改用户的状态,修改状态需要先读出用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行了,就会出现并发问题,因为读取和保存状态这两个操作不是原子的。(Wiki 解释:所谓 原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch 线程切换。)...原创 2019-04-10 20:02:15 · 145 阅读 · 0 评论 -
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 · 125 阅读 · 0 评论 -
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 · 118 阅读 · 0 评论 -
使用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 · 158 阅读 · 0 评论 -
在linux 的ubuntu 下 用 Git 命令 将本地项目上传到 Github
流程就是:1.在你的环境下 安装好git 创建好版本库2.你要先注册一个github账户,然后新建一个仓库 Repositories3.添加ssh 账户4.克隆项目5.将你自己本地项目文件夹 复制到你 在github上克隆的项目下6.上传—先跟踪你的文件夹,再提交,再推送到主分支。然后稍等一下,就能看到github网站上你的仓库有你的项目了安装git安装与配置(1)安装命令如下:...原创 2019-04-10 18:31:27 · 937 阅读 · 0 评论 -
github如何删除库
1、点击你所要删除的库2、点击顶部的settings3、然后下拉至底部,点击如下按钮4、输入你要删除的项目名称,确认删除原创 2019-04-10 18:34:06 · 212 阅读 · 0 评论 -
如何解决多并发的问题
1、负载均衡负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。(1)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高.(2)大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用2、数据库集群就是利用至少两...原创 2019-04-10 18:38:52 · 708 阅读 · 0 评论 -
爬虫框架或者模块,他们的区别或者优缺点分析
Python 自带:urllib、urllib2第三方:requests框架: Scrapyurllib 和 urllib2 模块都做与请求 URL 相关的操作,但他们提供不同的功能。urllib2: urllib2.urlopen 可以接受一个 Request 对象或者 url,(在接受 Request 对象时候,并以此可以来设置一个 URL 的 headers),urllib.urlo...原创 2019-04-10 18:49:48 · 1081 阅读 · 0 评论 -
request模块使用大全
一、Request模块虽然Python的标准库中urllib模块已经包含了平时我们使用的大多数功能,但是它的API使用起来让人感觉不太好,而Request自称“HTTP for Humans”,说明使用更简洁方便。 Request继承了urllib的所有特性。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定相应内容的编码,支持国际化的URL...原创 2019-04-10 18:56:04 · 1766 阅读 · 0 评论 -
反爬虫之FONT-FACE拼凑式
这里教的是一个反爬措施。我先举个例子。猫眼电影这个就属于font-face拼凑式。这篇文章我从0开始演示如何制作及应用字符集映射进行数据保护反爬虫!web-font是CSS3中的一种标记 @font-face,在@font-face声明里,你可以声明一种字体,指定这种字体字体库文件从网络某个地址下载。简单的从爬虫角度跟大家说一下如何观察页面中的css反爬措施。首先看页面数据中的关键字,...原创 2019-04-10 19:49:54 · 386 阅读 · 0 评论 -
Scrapy常见问题
介绍下scrapy框架。scrapy 是一个快速(fast)、高层次(high-level)的基于 python 的 web 爬虫构架,用于抓取web站点并从页面中提取结构化的数据。scrapy 使用了 Twisted异步网络库来处理网络通讯。为什么要使用scrapy框架?scrapy框架有哪些优点?它更容易构建大规模的抓取项目它异步处理请求,速度非常快它可以使用自动调节机制自动调整爬行...原创 2019-04-10 19:55:08 · 163 阅读 · 0 评论 -
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 · 2462 阅读 · 0 评论