需求及实现思路
需求:统计django项目中接口的调用次数
思路:中间件+异步任务celery+缓存redis/直接利用中间件(会增加中间件的压力)
详细思路:
- 界说中间件,在中间件中响应走的时候判定该哀求的url是否存在【status_code != 404】,存在则统计, 否则不统计。
- 中间件中调用异步任务,异步任务用celery实现。
- 异步任务做的事情就是在缓存中放一个字典,字典的key是访问的接口url,字典的值是该接口访问的次数。
- 缓存利用redis,在django项目中利用django-redis模块,替换django默认的缓存方式。
- 实现效果
代码实现
- # settings.py
- CACHES = {
- "default": {
- "BACKEND": "django_redis.cache.RedisCache", # 使用django-redis的缓存
- "LOCATION": "redis://127.0.0.1:6379/0", # redis数据库的位置
- "OPTIONS": {
- "CLIENT_CLASS": "django_redis.client.DefaultCli
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |