问题标签 [django-redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 使用redis作为会话后端时,django docker容器无法访问redis容器
我正在尝试部署模仿我的 django+postgresql(AWS RDS)+redis(AWS Elasticache) 的暂存环境。
我使用最新的 django-redis(4.10) 来设置 django 和 redis。我的设置如下:
当我在我的 pipenv 环境中本地运行它时,postgresql 在 AWS RDS 上远程运行,redis 服务器在本地运行brew services
,一切正常。但是如果我docker-compose up
是容器,django 的会话处理似乎会中断。
我的 docker-compose 如下:(请注意,因为我打算使用 AWS RDS 和 Elasticache,所以我没有在 compose 文件中包含 postgres 和 redis 容器)
当我尝试登录管理站点时,django 容器返回以下错误。
我可以确认 django 没有访问 redis 服务器,因为 redis-cli 的 MONITOR 没有显示任何与 django 相关的日志。
如果我把上面settings.py中的两行注释掉,
我可以登录管理员没有问题,所以它肯定与使用 redis 作为会话后端有关,并且可能是由于无法从 django docker 容器访问 redis。
非常感谢任何帮助!我已经工作了整整两天来解决这个问题,现在我的老板正在为此欺负我。:(
django - Python 2.7 和 3.7.2 兼容的 django-redis 序列化程序
我正在尝试编写一个 py2.7 - py3.7 兼容的 django-redis 序列化程序。我正在使用django-redis==4.8.0
withdjango==1.11.22
和PickleSerializer
. 我在 django-redis 上看到了这个问题https://github.com/niwinz/django-redis/pull/279并编写了一个类似于线程中所说的序列化程序。但是我的对象似乎有点复杂?没有把握。
我的目标是同时运行 2 个应用程序,一个使用 py2.7,另一个使用 py3.7。它们必须 100% 兼容,而我无法克服这一点。
这是序列化程序的代码:
我试图序列化的对象示例:
这个对象比那个大得多,但我假设如果我可以用这个对象做流程,我可以用一个更大的对象做。
在尝试load
使用 python 3.7.2 上的对象后,我收到此错误:
关于我能做什么的任何想法?
python - 如何从python和rust中存储和读取redis中的常用数据?
我有一些数据存储在 redis 缓存中,我的应用程序将在 Rust 中读取这些数据。数据由python存储。每当我存储一个字符串或一个数组时,它都会以一种我无法读入 Rust 的奇怪形式存储它。反之亦然,我想从 Rust 编写并能够在 python 中读取它。
使用 django 外壳:
使用 redis-cli:
生锈的输出:
Rust 代码使用 redis-rs 库读取数据:
我希望能够将字符串或数组读入 Rust,因为它是用 Python 编写的,反之亦然。此外,一个键中的数据只能由 Rust 或 Python 写入,而不是两者。
这个问题不是这个问题的重复,因为它专门针对重音编码,但是,我也想解决我的数组问题。此外,django 在 redis 中为字符串设置的值不仅仅是字符串的 UTF 编码。
python - 使用 Redis 进行 Django 缓存
我在这个博客之后使用redis实现了django缓存:https ://realpython.com/caching-in-django-with-redis/
所以我跟着这个,安装了包,添加了
}
然后在视图中。
然后为函数添加装饰器
然后我在运行服务器时收到此错误
redis.exceptions.ConnectionError:连接被服务器关闭。
我是这种缓存技术的新手,有什么建议可以解决这个问题吗?
django - 多个队列中的芹菜任务无法启动
我将 django 与 celery 和 redis 一起使用来处理异步任务。我定义了三个任务,它们应该在您自己的队列中运行。
我的项目结构如下所示:
我在我的 api 应用程序的 task.py 中定义的任务:
现在这是我的初始化.py
和settings.py中的芹菜设置:
我的 celery.py 看起来像这样:
这是我的设置。现在我开始所有需要的东西(自己终端中的每一行):
一切开始都没有问题。在视图中,我这样称呼任务:
manually_task.delay(webseite.pk)
但在工人无所事事。CELERY_TASK_QUEUES
如果我在没有,CELERY_DEFAULT_QUEUE
和CELERY_ROUTES
设置的情况下尝试此操作settings.py
并正常启动工作程序,celery -A django-project worker
则它可以正常工作。我做错了什么?
django - 正常的 django_redis 会生成这种会话密钥吗?
我是 django_redis 库的新手。我正在将此 confs 用于带有 redis 的会话存储:
一切似乎都正常工作。但是,当我检查数据库上会话的密钥(默认 sqlite)然后将该密钥值与 redis-cli 中的 redis db 进行比较时,会话密钥是不同的。在 redis-cli 版本中,会话密钥有一个前缀,即使我没有设置前缀。
会话密钥的数据库(sqlite)版本
redis-cli 版本的密钥
这是正常的吗?
django - Django Mealtime server listener
I am pretty good at django. I have postgresql
with some table and this table populated by a C++ apps
. Now i want to build django app to visualize realtime basis whenever any changes occur in the database, it should update realtime in my django frontend.
I am not getting what technology to pic, I have heard of django-channel
but not quite sure if i can do it with it.
This post is the purpose to get technology recommendation suggestion.
Can anyone help in this case?
django - docker容器中的django-celery netcat垃圾邮件
我正在尝试在一个单独的 docker 容器中与 django/redis docker 设置一起运行 celery。
当我运行时docker-compose up -d --build
,我的日志通过docker-compose logs --tail=0 --follow
显示celery_1
容器反复向控制台发送垃圾邮件
通过从中删除 celery 服务docker-compose.yaml
并docker exec -it backend_1 celery -A proj -l info
在docker-compose up -d --build
. 如何在 内复制此手动过程的功能docker-compose.yaml
?
我的docker-compose.yaml
样子
django - 我们如何在 django-redis 中使用 redis 管道?
我想在 django-redis 中使用Redis 管道(执行多个命令)。
我们可以在 Redis 中使用 multi 和 exec命令,但我们如何在 django-redis 中使用?
一种解决方案是:
我有哈希键列表,我想使用哈希键获取所有哈希。
在每个迭代命令发送到 redis 服务器以逐个获取哈希。
这不是一个好主意,我们可以使用 redis 管道。但是我如何在 django-redis 中实现 Redis 管道?
django - Django Rest 框架:Pickle 响应
我想要做的是构建一个自定义版本,cache_page
让我可以更好地控制缓存键,但我什至被我的响应的基本缓存卡住了:
我的相关部分settings.py
设置为:
当我尝试调用端点时,我得到:
然后,如果我将行更改为:
我得到:
(如果我设置了渲染器,它会抱怨接受的媒体,然后是上下文并最终失败TypeError: 'bytes' object is not callable
)
尽管 API 调用本身在没有缓存的情况下也能正常工作。
cache_page
实际上工作正常,所以我知道可以缓存响应,但我不知道我错过了什么。