High-Performance Python Async
Édition 2026. Une plongée en profondeur dans l'accélération de Python asyncio avec uvloop et l'interfaçage direct avec PostgreSQL en utilisant le protocole binaire d'asyncpg.
Épisodes
Le besoin de vitesse : L'architecture d'uvloop
3m 21sDécouvrez les différences architecturales entre l'asyncio standard de Python et uvloop. Nous explorons comment uvloop exploite Cython et libuv pour atteindre des performances similaires à celles de Go.
Intégration d'uvloop
3m 55sApprenez à intégrer uvloop dans votre application Python. Cet épisode couvre l'approche EventLoopPolicy pour remplacer de manière transparente la boucle d'événements par défaut.
Introduction à asyncpg : Le protocole binaire
3m 22sExplorez la conception fondamentale d'asyncpg. Nous discutons des raisons pour lesquelles le contournement de la DB-API standard au profit du protocole binaire de PostgreSQL permet des gains de performances massifs.
Connexion et exécution de base
3m 18sDémarrez avec asyncpg en vous connectant à une base de données et en exécutant des requêtes de base. Comprenez la syntaxe native des arguments Postgres.
Conversion de types native
3m 26sDécouvrez comment asyncpg mappe automatiquement les types de données PostgreSQL vers des objets Python natifs, éliminant ainsi le besoin d'une analyse ORM complexe.
Codecs de types personnalisés
3m 52sApprenez à définir des conversions de données personnalisées dans asyncpg. Cet épisode explique comment utiliser set_type_codec pour décoder automatiquement le JSONB en dictionnaires Python.
Codecs avancés avec PostGIS
3m 34sPlongez au cœur des codecs de types personnalisés en mappant les types de géométrie PostGIS de PostgreSQL vers des objets Python Shapely en utilisant le format binaire.
Gestion des transactions
3m 18sMaîtrisez les transactions de base de données dans asyncpg. Nous couvrons le comportement d'auto-commit et la manière d'exécuter plusieurs requêtes en toute sécurité à l'aide de gestionnaires de contexte asynchrones.
Pool de connexions
3m 17sMettez à l'échelle votre application avec le pool de connexions intégré d'asyncpg. Apprenez à gérer efficacement les connexions à la base de données dans les services web à fort trafic.
Mise en cache des requêtes préparées
3m 38sComprenez comment asyncpg optimise l'analyse des requêtes avec des requêtes préparées automatiques, et pourquoi des poolers externes comme PgBouncer peuvent causer des conflits.
Tableaux Postgres et clauses IN
3m 42sRésolvez l'erreur de syntaxe la plus courante lors de la migration vers asyncpg. Apprenez à filtrer correctement les requêtes par rapport à une liste de valeurs en utilisant ANY().
Objets Record vs Named Tuples
3m 27sExplorez la conception unique des objets Record d'asyncpg. Comprenez pourquoi la notation pointée est omise par défaut et comment l'activer avec des classes personnalisées.
Streaming de résultats avec les curseurs
3m 39sÉvitez l'épuisement de la mémoire lors de l'interrogation d'ensembles de données massifs. Apprenez à utiliser les curseurs d'asyncpg pour streamer les résultats par morceaux.
Ingestion ultra-rapide avec COPY
3m 25sBoostez vos pipelines d'ingestion de données. Nous explorons le protocole COPY de PostgreSQL pour charger des données en masse de manière exponentiellement plus rapide qu'avec des instructions INSERT.
Listen et Notify asynchrones
3m 00sDébloquez des architectures événementielles en temps réel directement dans PostgreSQL. Apprenez à utiliser add_listener d'asyncpg pour une messagerie pub/sub instantanée.
Télémétrie et journalisation des requêtes
3m 29sObtenez une observabilité approfondie des performances de votre base de données. Découvrez comment utiliser les écouteurs de journaux d'asyncpg pour suivre les requêtes lentes et surveiller la télémétrie d'exécution.
Sécurisation des connexions avec SSL
3m 28sAssurez-vous que vos connexions à la base de données sont sécurisées. Nous couvrons la configuration du contexte SSL et la manière d'imposer le TLS direct lors de la connexion à des bases de données cloud.