[ Django ] 统计接口访问频次
需求及实现思路需求:统计django项目中接口的调用次数
思路:中间件+异步任务celery+缓存redis/直接利用中间件(会增加中间件的压力)
详细思路:
[*]界说中间件,在中间件中响应走的时候判定该哀求的url是否存在【status_code != 404】,存在则统计, 否则不统计。
[*]中间件中调用异步任务,异步任务用celery实现。
[*]异步任务做的事情就是在缓存中放一个字典,字典的key是访问的接口url,字典的值是该接口访问的次数。
[*]缓存利用redis,在django项目中利用django-redis模块,替换django默认的缓存方式。
[*]实现效果
https://i-blog.csdnimg.cn/blog_migrate/dd31d78677af92aa5527aa2f00f6b6f5.png
代码实现
[*]设置缓存
# 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企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]