Django自定义中间件

一. 什么是中间件

中间件是一个钩子框架,它们可以介入Django 的请求和响应处理过程。 它是一个轻量级、底层的插件系统,用于在全局修改Django 的输入或输出

我们从浏览器发出一个请求 Request ...

Python操作Redis

一. Python连接Redis

1、连接方式

redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import ...

Redis的持久化

Redis的持久化

Redis的持久化有两种方式:快照(RDB文件)和追加式文件(AOF文件)

  • RDB持久化方式会在一个特定的间隔保存那个时间点的一个数据快照。
  • AOF持久化方式则会记录每一个服务器收到的写操作。在服务启动时,这些记录的操作会逐条执行从而重建出原来的数据。写操作命令记录的格式跟Redis协议一致,以追加的方式进行保存。
  • Redis的持久化是可以禁用的,就是说你可以让数据的生命周期只存在于服务器的运行时间里。
  • 两种方式的持久化是可以同时存在的 ...

使用supervisor后台运行celery

本地使用celery测试的时候我们可以直接在不同的终端直接运行 Celery 进程,但是如果要在服务器上运行,那我们岂不是得开好几个终端?而且退出终端之后 Celery 进程也就停止了,能不能让 Celery 在后台以守护进程的方式运行呢?答案是肯定的,今天我们先介绍用 supervisor 使celery在后台运行 ...

Django项目中使用Celery

Celery是Python开发分布式任务列队的处理库。可以异步分布式地异步处理任务,也可定时执行任务等等。通常我们可以在Django执行一些比较耗时的任务(例如批量发邮件)和后台定时任务等。

研究发现,在Django中使用celery有两种方式:

  1. 使用django-celery应用;
  2. 直接使用Celery。

我们这里选择的是第二种方案。

1. Celery中间人的选择

官方给出的broker列表如下

Name ...