后端开发
年华终归属时光
这个作者很懒,什么都没留下…
展开
-
celery实现高并发
Celery介绍 1.Celery介绍 点击查看Celery参考文档 Celery是一个功能完备即插即用的任务队列 Celery适用异步处理问题,比如发送邮件、文件上传,图像处理等等比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验 2.Celery特点: 简单,易于使用和维护,有丰富的文档 高效,单个Celery进程每分钟可以处理数百万个...原创 2018-11-22 15:40:21 · 5471 阅读 · 0 评论 -
Django开发ORM:多表操作
表关系总结: 一对多:在多的表中建立关联字段 多对多:创建第三张表(关联表):id和两个关联字段 一对一:在两张表中的任意一张表中建立关联字段(关联字段一定要加 unique约束) 子查询:一次查询结果作为另一次查询的查询条件 创建模型: from django.db import models # Create your models here. cl...转载 2019-04-14 15:47:59 · 347 阅读 · 0 评论 -
RPC的定义和原理
转载:深入浅出 RPC - 浅出篇 转载:RPC框架与Dubbo完整使用 转载:深入浅出 RPC - 深入篇 转载:远程调用服务(RPC)和消息队列(Message Queue)对比及其适用/不适用场合分析 一、RPC 1. RPC是什么 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解...转载 2019-02-20 13:43:28 · 474 阅读 · 0 评论 -
redis实现高可用
一.哨兵机制 有了主从复制的实现以后,如果想对主服务器进行监控,那么在redis2.6以后提供了一个"哨兵"的机制。顾名思义,哨兵的含义就是监控redis系统的运行状态。可以启动多个哨兵,去监控redis数据库的运行状态。其主要功能有两点: a、监控所有节点数据库是否在正常运行。 b、master数据库出现故障时,可以自动通过投票机制,从slave节点中选举新的maste...原创 2019-02-20 13:39:13 · 366 阅读 · 0 评论 -
shell命令(一)
shell 注:本文的图片摘录于runoob网站http://www.runoob.com 定义变量的时候,变量名不嫁美元符号 PHP语言中需要 使用定义过的变量 $name 可以加花括号识别边界 ${name} 只读变量 readonly name 删除变量 unset name 不能删除只读变量 局部变量 仅在当前shell实例中有效 环境变量 所有的程序包括shell启动...原创 2019-02-22 11:56:27 · 407 阅读 · 0 评论 -
postgresql - (模式Schema)
一个数据库包含一个或多个命名的模式,模式又包含表。模式还包含其它命名的对象,包括数据类型、函数,以及操作符。同一个对象名可以在不同的模式里使用而不会导致冲突; 比如,schema1和myschema都可以包含叫做mytable的表。和数据库不同,模式不是严格分离的:一个用户可以访问他所连接的数据库中的任意模式中的对象,只要他有权限。 我们需要模式有以下几个主要原因: 1). 允许多...转载 2018-12-28 14:23:33 · 5459 阅读 · 0 评论 -
ssl报错[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed]
Python 2.7.9 之后版本引入了一个新特性 当你urllib.urlopen一个 https 的时候会验证一次 SSL 证书 当目标使用的是自签名的证书时就会爆出一个 urllib.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)&g...原创 2018-12-03 09:33:55 · 1053 阅读 · 0 评论 -
python 反爬虫策略
作为使用python编译框架的一名后端开发人员,总不能让自己的网站数据被同行给轻易的给爬取然后让他们潇洒的扬长而去吧。下面,我就给大家介绍一下在Python的后端开发中我们能使用的一些反爬的策略。 一丶初级阶段(利用第三方提供给我们的工具) 如果你用的是Django这个重量级框架的话,Django已经为你造好了轮子,我们可以利用它的中间件来写一个拦截器。 这里使用了HTTP的UserAg...原创 2018-11-28 15:39:25 · 350 阅读 · 0 评论 -
Django缓存
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到,并返回。 Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓...原创 2018-11-27 11:40:56 · 305 阅读 · 0 评论 -
HTTP幂等性
理解HTTP幂等性 基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上...原创 2018-11-27 09:42:43 · 92 阅读 · 0 评论 -
Nginx和uWSGI部署
1. 静态文件 当Django运行在生产模式时,将不再提供静态文件的支持,需要将静态文件交给静态文件服务器。 我们先收集所有静态文件。项目中的静态文件除了我们使用的front中之外,django本身还有自己的静态文件,如果rest_framework、xadmin、admin、ckeditor等。我们需要收集这些静态文件,集中一起放到静态文件服务器中。 我们要将收集的静态文件放到front目...原创 2018-11-26 18:20:42 · 329 阅读 · 0 评论 -
Mac 解决 PostgreSQL 链接问题
mac异常关机后总是无法使用postgresql数据库,解决办法: 删除postmaster.pid文件,然后重新启动postgresql。 启动 PostgreSQL: pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 关闭 PostgreSQL: pg_ctl -D /usr...原创 2019-04-17 14:10:39 · 1735 阅读 · 0 评论