08 2024 档案
摘要:爬虫 pip3 install aiohttp import aiohttp import asyncio async def fetch(session, url): print("发送请求:", url) async with session.get(url, verify_ssl=False)
阅读全文
摘要:FastAPI框架 安装 pip3 install fastapi pip3 install uvicorn (asgi内部基于uvloop) 示例: luffy.py #!/usr/bin/env python # -*- coding:utf-8 -*- import asyncio impor
阅读全文
摘要:异步MySQL pip3 install aiomysql 示例1: import asyncio import aiomysql async def execute(): # 网络IO操作:连接MySQL conn = await aiomysql.connect(host='127.0.0.1'
阅读全文
摘要:异步redis 在使用python代码操作redis时,链接/操作/断开都是网络IO。 pip3 install aioredis 示例1: #!/usr/bin/env python # -*- coding:utf-8 -*- import asyncio import aioredis asy
阅读全文
摘要:4.uvloop 是asyncio的事件循环的替代方案。事件循环 > 默认asyncio的事件循环。 pip3 install uvloop import asyncio import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPoli
阅读全文
摘要:3.1 事件循环 理解成为一个死循环 ,去检测并执行某些代码。 # 伪代码 任务列表 = [ 任务1, 任务2, 任务3,... ] while True: 可执行的任务列表,已完成的任务列表 = 去任务列表中检查所有的任务,将'可执行'和'已完成'的任务返回 for 就绪任务 in 可执行的任务列
阅读全文
摘要:2.协程意义 在一个线程中如果遇到IO等待时间,线程不会傻傻等,利用空闲的时候再去干点其他事。 案例:去下载三张图片(网络IO)。 普通方式(同步) """ pip3 install requests """ import requests def download_image(url): prin
阅读全文
摘要:协程 & asyncio & 异步编程的 > 背景 为什么要学? 越来越多的学生都来问async异步相关问题,并且这一部分的知识点不太容易学习(异步非阻塞、asyncio) 异步相关话题和框架越来越多,例如:tornado、fastapi、django 3.x asgi 、aiohttp都在异步 -
阅读全文
摘要:一、python对redis基本操作 (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', port=6379) r.set('foo', 'Bar') print(r.get('foo')) # 方式2 import red
阅读全文
摘要:zset(有序集合) 有序集合(score/value),去重并且根据score权重值来进行排序的。score从小到大排列。 (1)添加成员 zadd key score1 member1 score2 member2 score3 member3 .... 设置榜单achievements,设置成
阅读全文
摘要:set(集合) 无序集合,重点就是去重和无序。 (1)添加元素 sadd key member1 member2 ... 向键authors的集合中添加元素zhangsan、lisi、wangwu sadd authors zhangsan lisi wangwu (2)获取集合的所有的成员 sme
阅读全文
摘要:hash(哈希) hset key field value hget key field hgetall info hmget key field1 field2 ... hincrby key field number 专门用于结构化的数据信息。对应的就是map/结构体 结构: 键key:{ 域f
阅读全文
摘要:list(数组) 队列,列表的子成员类型为string lpush key value rpush key value linsert key after|before 指定元素 value lindex key index lrange key start stop lset key index
阅读全文
摘要:key操作 redis中所有的数据都是通过key(键)来进行操作,这里我们学习一下关于任何数据类型都通用的命令。 (1)查找键 参数支持简单的正则表达式 keys pattern 查看所有键 keys * 例子: # 查看名称中包含`a`的键 keys *a* # 查看以a开头的键 keys a*
阅读全文
摘要:4.1. string(字符串) SET/SETEX/MSET/MSETNX GET/MGET GETSET INCR/DECR DEL 1. 设置键值 set 设置的数据没有额外操作时,是不会过期的。 set key value 设置键为name值为yuan的数据 set name yuan se
阅读全文
摘要:redis数据类型 redis可以理解成一个全局的大字典,key就是数据的唯一标识符。根据key对应的值不同,可以划分成5个基本数据类型。 redis = { "name":"yuan", "scors":["100","89","78"], "info":{ "name":"rain" "age"
阅读全文
摘要:redis环境安装 redis的官方只提供了linux版本的redis,window系统的redis是微软团队根据官方的linux版本高仿的。 官方原版: https://redis.io/ 中文官网:http://www.redis.cn 1、下载和安装 下载地址:https://github.c
阅读全文
摘要:一、引言 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原因是因为那时候Web站点基本上访问和并发不高、交互也较少。而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般是在磁盘的I/O上。而随着互联网技术的进一步发展,各
阅读全文
摘要:数据库基本管理 MySQL启动关闭流程 mysql是一个典型的C/S服务架构 1.mysql自带的客户端程序(/service/mysql/bin) mysql mysqladmin mysqldump 2.mysqld是一个二进制程序,后台的守护进程 单线程 多线程 1、启动数据库 1、/etc/
阅读全文
摘要:Windows系统 1、安装 # 1.先到官方进行下载 http://dev.mysql.com/downloads/mysql/ # 2.解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64 # 3.添加环境变量 【右键计
阅读全文
摘要:一、数据库管理软件的由来 基于我们之前对数据的了解,数据想要进行永久保存,一般都是保存到文件中,但是一个文件仅仅只能存在于某一台机器上。 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。 很不幸,这些假设都是你自己意淫出来的
阅读全文