自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wphoenix的博客

技术日常整理

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

原创 django数据库优化(一)

django数据库优化(一)# 版本背景python:3.7django:2.2mysql:8.0前景:因为django在每次查询时就进行一次数据库连接操作,而且查询完成之后就立马关闭连接,因此在进行频繁操作数据库的场景下该操作十分不友好,会大大增加了数据库的压力,降低服务性能。解决方案:修改django数据库的短连接,改用长连接查阅官方文档:Django Databases持久化连接持久化连接避免了在每个请求中重新建立到数据库的连接的开销。它们由CONN_MAX_AGE定义连接最长生命

2021-06-15 16:53:57 12445 1

原创 docker(二)(docker命令)

docker命令docker命令docker run

2019-04-25 16:44:09 331

原创 docker(四)(实操)

配置两台docker服务器将一台机器作为服务器,修改docker守护进程启动选项-H1、tcp://host:port2、unix:///path/to/socket3、fd://* or fd://socketfd其中 docker守护进程默认的配置为:-H unix:///var/run/docker.sock修改为: DOCKER_OPTS="-H tcp://0.0...

2019-04-13 10:57:36 169

原创 docker(三)(容器数据卷|dockerFile)

centos7 如果没有/etc/sysconfig/docker这个配置文件1.vim /lib/systemd/system/docker.service[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network.target doc...

2019-04-13 10:20:56 117

原创 docker(一)(简介及安装)

docker容器一种虚拟化的方案直接运行在操作系统硬核之上的用户空间容器虚拟化也被称为操作系统虚拟化由于依赖于操作系统的特性,容器只能运行在相同或相似内核的操作系统docker容器依赖于Linux内核的namespace和cgroup特性容器:应用+依赖的库虚拟机通过中间层将一台或多台独立机器虚拟运行在物理硬件之上虚拟机:应用+依赖的库+系统+模拟硬件行为docker的目标...

2019-04-06 11:46:22 73

原创 linux常用命令

linux常用命令一、磁盘管理ls(list)-a 显示目录下所有子目录文件,包括隐藏文件-l 以列表的形式显示文件的详细信息-h 显示文件大小ls > test.txt将显示在终端的内容保存到test.txt中, test.txt 如果不存在,则创建,存在则覆盖其内容>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。cd(chan...

2019-03-01 17:57:44 1134

原创 mysql高级篇(三)

三、查询截取分析1、慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。1.1、开启日志默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置slow_query_log的值来开启SHOW VARIABLES LIKE '%slow_query_log%';# 开启日志set global slow_query_

2021-08-18 16:32:50 256

原创 mysql高级篇(二)

二、mysql索引1、sql性能问题数据过多:分库分表关联表过多,使用太多join:sql优化没有充分利用索引:索引建立服务器调优及各个参数设置2、索引简介2.1、索引是什么?MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。也可以简单理解为“排好序的快速查找数据结构”。...

2021-08-18 12:01:14 434 2

原创 mysql高级篇(一)

sssss

2021-08-13 11:21:59 3848 1

转载 MYSQL练习

mysqlmysql命令mysql> show databases;mysql> show tables;mysql> show tables from mysql;# 查看当前数据库位置mysql> select database();# 查看当前mysql版本mysql> select version();root@wang:/# mysq...

2021-08-03 15:02:12 197

原创 mysql基础篇

mysql 基础篇1、基本查询# mysql 连接mysql -uroot -hlocalhost -P3306 -p# 查看数据库show databases;# 查看当前库中所有表show tables;# 查看指定库中所有表show tables from 库名;# 显示指定表中所有列show columns from 表名;# 打开/使用指定库use 库名;# 查询基础select 查询列表 别名 from 表名;# 查询去重select distin

2021-08-03 14:59:56 119

原创 RabbitMQ(python版)

RabbitMQ1、MQ1.1、定义MQ(Message Quene) : 翻译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件 通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。1.2、MQ应用场景1.2.1、异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的

2021-07-26 17:47:30 14081

原创 django项目部署(uwsgi+nginx)

django项目部署(uwsgi+nginx)版本背景:python:3.7django:2.2mysql:8.0uwsgi:2.0.17nginx:1.15.6部署步骤:确定linux服务器,上传项目包安装项目所需包收集包:pip freeze > requirement.txt安装包:pip install -r requirement.txt收集静态文件,启动项目python manage.py collectstaticpython manage.py

2021-07-22 15:12:52 12317 2

原创 celery异步任务框架

celery异步任务框架

2021-07-12 09:32:46 157 1

原创 python进程、线程和协程(四)

python多协程多协程运行原理单线程的执行路径多协程的执行路径协程的运行核心原理是1、程序在线程里创建一个超级循环(while True)2、将每一个任务放到任务列表中3、运行这个超级循环,当遇到CPU操作时,CPU执行;当遇到IO操作时,此时CPU切换到下一个任务的CPU操作,此时IO等待过程中CPU继续运行,不会造成资源浪费4、一直运行这个循环,直至所有任务执行完毕。协程的发展python2.x对协程的支持比较有限生成器yield实现了一部分但不完全;greenlet库可

2021-07-11 16:00:09 11849

原创 python进程、线程和协程(二)

python多进程多进程from multiprocessing import Processp = Process(target=func, args=('test',))p.start()p.join()案例实现:from multiprocessing import Processdef run_proc(name): print('Run child process %s (%s)...' % (name, os.getpid()))if __name__=='__m

2021-07-11 15:01:04 11821

原创 python进程、线程和协程(一)

前言:众所周知,任何一门编程语言都绕不开一个问题,那就是并发编程。并发是一种计算机能并行运行多个程序或并行运行一个程序中多个部分的能力。现代的PC都有多个CPU或一个CPU中有多个核。是否能合理运用多核的能力将成为一个大规模应用程序的关键。如果程序中一个耗时的任务能以异步或并行的方式运行,那么整个程序的吞吐量和可交互性将大大改善。然而本质上来说真正的并行执行多任务只能在多核CPU上实现,但是由于实际上任务数量远远多于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。在py

2021-07-11 14:20:02 11927

原创 django日志模块

django日志配置1.普通配置settings.pyBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))log_path = os.path.join(BASE_DIR, 'log')if not os.path.exists(log_path): os.mkdir(log_path)LOGGING = { 'version': 1, 'disable_existing_logging':

2021-07-02 16:58:50 12112

原创 django数据库优化(二)

django数据库优化(二)# 版本背景python:3.7django:2.2mysql:8.0前景:因为django在每次查询时就进行一次数据库连接操作,而且查询完成之后就立马关闭连接,因此在进行频繁操作数据库的场景下该操作十分不友好,会大大增加了数据库的压力,降低服务性能。解决方案:使用数据库连接池模式进行数据库操作由于django原生是不支持数据库连接池...

2021-07-02 15:45:15 12274

原创 python进程、线程和协程(三)

python 多线程线程是CPU调度的最小单位GILGIL(Global Interpreter Lock)全局解释器锁GIL是python用于同步线程的一种机制,这种机制使得计算机在任何时刻仅有一个线程在执行。即在执行的每一个 Python 线程,都会先锁住自己,以阻止别的线程执行。GIL底层实现原理当一个线程在运行时会持有GIL当该线程在遇到IO(读写内存、发送网络等)操作时会释放GIL既然GIL对程序执行的性能影响这么大,那么python语言在设计之初为什么要引入GIL呢?答

2021-06-21 17:14:04 11858

原创 Django框架总结

一、Django框架前言知识:1、C/S和B/S的区别:C/S结构软件:客户端/服务端软件,即客户端要自己下载,安装之后才能访问服务端,服务端为开发的服务器。B/S结构软件:浏览器/服务端软件,即客户端不需要自己下载,客户只需要在电脑上用浏览器访问客户端即可访问服务端。一般的web框架都是B/S结构软件,在浏览器上输入http://www.127.0.0.1/(默认端口8000)即可...

2021-06-15 14:59:52 13863 1

原创 django-rest-framework(十一)(路由&渲染器)

路由

2019-04-29 13:43:48 335

原创 django-rest-framework(十)(视图)

视图

2019-04-29 13:43:19 346

原创 django-rest-framework(九)(分页)

分页

2019-04-29 13:42:42 310

原创 django-rest-framework(八)(序列化)

序列化功能:功能一:序列化数据功能二:请求数据校验序列化数据前提概要model.py 模型类的书写from django.db import modelsclass UserGroup(models.Model): title = models.CharField(max_length=32)class Role(models.Model): titl...

2019-04-29 13:42:04 329

原创 django-rest-framework(七)(解析器)

解析器小知识django:request.POST和request.body的区别1、请求头中的Content-Type:application/x-www-form-urlencoded2、数据格式的要求:name=xxx&age=xxx&gender=xxx只有满足上诉两个要求时,request.POST才能获取到值;其他任何情况下,request.body都能拿到值...

2019-04-29 13:40:56 894

原创 django-rest-framework(六)(版本)

版本版本号可以写在url当中;可以写在url的get方法当中;可以写在namespace当中;可以写在请求头当中;也可以写在子域名当中。通常情况下是将版本号写在url当中自定义的版本控制将版本放在url的get请求参数中class UserView(APIView): def get(self, request, *args, **kwargs): # query...

2019-04-29 13:39:53 258

原创 django-rest-framework(五)(节流)

节流需求:控制用户的访问的频率(10秒中内访问三次)思想:设立一个全局变量字典,对于匿名用户,将用户的IP作为字典的键;对于登陆用户,将用户的用户名作为字典的键。设置字典的值为一个列表,列表中存储了用户访问的时间,可以通过对列表中的时间进行操作来控制访问频率...

2019-04-29 13:38:27 160

原创 django-rest-framework(四)(权限)

权限基本使用class MyPermission(object): ''' 在权限类中的has_permission写入权限认证 用户的权限类中返回参数有True,False True为通过权限认证,False为未通过权限认证 ''' def has_permission(self, request, view): # 用户登录成...

2019-04-29 13:37:23 519

原创 django-rest-framework(三)(认证)

安装pip install djangorestframework(一)认证简单示例from rest_framework.views import APIViewfrom rest_framework import exceptionsclass MyAuthentication(object): def authenticate(self, request): ...

2019-04-28 17:20:35 353

原创 django-rest-framework(二)(restful规范)

restful规范1 .根据method的不同执行不同的操作:GET (SELECT):从服务器检索特定资源,或资源列表。POST (CREATE):在服务器上创建一个新的资源。PUT (UPDATE):更新服务器上的资源,提供整个资源。PATCH (UPDATE):更新服务器上的资源,仅提供更改的属性。DELETE (DELETE):从服务器删除资源。2.API尽量采用通过安全...

2019-04-28 17:19:47 371

原创 django-rest-framework(一)(前言)

CBVcbv(类视图)

2019-04-25 16:47:03 124

原创 Vim编辑器

vim相关vi有三种基本工作模式:1、命令模式2、文本输入模式3、末行模式

2019-03-02 18:00:48 209

原创 django跨域问题解决

django跨域问题解决1、安装django-cors-headers模块pip install django-cors-headers2、在INSTALLED_APPS中注册corsheadersINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.co...

2018-11-22 16:49:09 11773

原创 python定时任务实现

1、while循环中使用sleep缺点:不容易控制,而且是个阻塞函数def timer(n): ''''' 每n秒执行一次 ''' while True: print(time.strftime('%Y-%m-%d %X',time.localtime())) yourTask() # 此处为要执行的...

2018-09-21 16:37:11 553

空空如也

空空如也

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

TA关注的人

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