[ Django ] 统计接口访问频次

张裕  金牌会员 | 2024-11-7 15:39:50 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 506|帖子 506|积分 1518

需求及实现思路

需求:统计django项目中接口的调用次数
思路:中间件+异步任务celery+缓存redis/直接利用中间件(会增加中间件的压力)
详细思路:


  • 界说中间件,在中间件中响应走的时候判定该哀求的url是否存在【status_code != 404】,存在则统计, 否则不统计。
  • 中间件中调用异步任务,异步任务用celery实现。
  • 异步任务做的事情就是在缓存中放一个字典,字典的key是访问的接口url,字典的值是该接口访问的次数。
  • 缓存利用redis,在django项目中利用django-redis模块,替换django默认的缓存方式。
  • 实现效果

代码实现



  • 设置缓存
  1. # settings.py
  2. CACHES = {
  3.     "default": {
  4.         "BACKEND": "django_redis.cache.RedisCache",                        # 使用django-redis的缓存
  5.         "LOCATION": "redis://127.0.0.1:6379/0",                                # redis数据库的位置
  6.         "OPTIONS": {
  7.             "CLIENT_CLASS": "django_redis.client.DefaultCli
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表