python - Django Rest框架和Redis

标签 python django redis django-registration

我正在开发一个项目,其中有大约 30 到 40 个 GPS 跟踪器,我想让客户能够选择任何跟踪器,然后跟踪其位置。我能够使用 django 休息框架让跟踪器进行通信,这是我正在使用 channel 的实时应用程序。

数据库被划分,一个表用于跟踪器,另一个表用于跟踪他们的当前位置。使用秒表,我可以将请求的跟踪器位置服务给用户。

我想知道是否有一种方法可以让我用redis实现djangorest框架,这样来自跟踪器的post请求就可以直接缓存,而不是在数据库中插入或更新。跟踪器的历史位置对我来说并不重要,重要的是它们当前的位置。

最佳答案

您可以将坐标直接存储在 Redis 中,无需访问数据库。

例如:

import redis

redis_instance = redis.StrictRedis(host=settings.REDIS_HOST,
                                  port=settings.REDIS_PORT, db=0)

redis_instance.set(kwargs['key'], new_value)

并从中获取值(value)

redis_instance.redis_instance.get(key)

您可以使用 Django cache 来完成同样的操作(当你配置它使用redis时)

from django.core.cache import cache
cache.set('my_key', 'hello, world!', None)
cache.get('my_key')

关于python - Django Rest框架和Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61207924/

相关文章:

python - 使用 django 框架在 python 中进行身份验证的 Web 和 native 移动应用程序使用的 RESTFUL Web 服务

python - 如何在pynotify中设置本地镜像?

python - 骨架目录的目的

python - Django-admin.py 不工作(-bash :django-admin. py:找不到命令)

database - Redis AOF 和 Tarantool WAL 日志的区别

database - 有什么有效的方法可以减少 HyperLogLog ( redis ) 中的错误?

python - Pandas 数据框根据元组列表创建新列

python - Django 不在调试环境中提供媒体文件

Django 迁移缺少声明 "needed_by"的方法?

node.js - 使用 ioRedis 连接到 ElastiCache 时出现随机 SSL 握手错误