问题标签 [redis-py]
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.
python - 非阻塞 Redis pubsub 可能吗?
我想使用 redis 的 pubsub 来传输一些消息,但不想被阻止使用listen
,如下面的代码:
最后一for
节将阻塞。我只想检查给定频道是否有数据,我该如何完成?有没有check
类似的方法?
python - Redis“响应错误:未知命令'502'”
使用 redis-py(2.8.0 版)时,我遇到了这个奇怪的错误(如下)。有谁知道为什么会发生这种情况?
Redis 服务器版本:2.2.12,尝试设置 redis-server 使用 unix socket 和 TCP,还尝试将 redis-py 模块降级到 2.4,总是得到同样的错误。
使用 memcached 缓存引擎,我看不到这样的东西。
谢谢。
python - redis-py“连接错误:远程端关闭套接字”
使用 redis-py 的 PubSub 类,我有时会遇到以下异常:
什么会导致这样的事件?
如果我捕捉到这个异常,什么是合理的处理逻辑?重试listen()
会徒劳吗?
问而不是简单地尝试的原因是我不知道如何重现这个问题。这种情况很少见,但很有害,因此我必须在此错误再次发生之前创建一些逻辑。
python - How to prevent race condition when using redis to implement flow control?
We have a server that gets cranky if it gets too many users logging in at the same time (meaning less than 7 seconds apart). Once the users are logged in, there is no problem (one or two logging in at the same time is also not a problem, but when 10-20 try the entire server goes into a death spiral sigh).
I'm attempting to write a page that will hold onto users (displaying an animated countdown etc.) and let them through 7 seconds apart. The algorithm is simple
- fetch the timestamp (t) when the last login happened
- if
t+7
is in the past start the login and storenow()
as the new timestamp - if
t+7
is in the future, store it as the new timestamp, wait untilt+7
, then start the login.
A straight forward python/redis implementation would be:
The race condition here is obvious, many processes can be at the my_start =
line simultaneously. How can I solve this using redis?
I've tried the redis-py pipeline
functionality, but of course that doesn't get an actual value until in the r.get()
call...
python - Redis 页面计数器
我正在编写一个烧瓶应用程序,它将计算来自多个网站的页面浏览量。我决定使用 Redis 和 Redispy,但我很难决定如何构建。最初我试图有这样的东西
我希望能够按日期或站点名称查询并显示计数值。我尝试使用 .keys 按日期或站点名称进行查询,但 REDIS 文档说要避免使用密钥。
所以我想也许我可以使用redis哈希:
最终,我希望能够按站点名称、日期或显示所有日期的所有值在站点计数器上运行报告。我似乎找不到合适的结构来让我得到我想要的。
任何建议将不胜感激!我以前没有使用过 REDIS。
redis-py - redis-py 引发 AttributeError
在什么情况下会redis-py
引发以下AttributeError
异常?
不是redis-py
设计为仅引发redis.exceptions.RedisError
基于异常的吗?
什么是合理的处理逻辑?
pyramid - 使用 gevent-socketio paste 集成导致我的应用程序无响应
我正在编写一个依赖gevent-socketio和redis的 Pyramid 应用程序。但是,我注意到当我离开建立 socket.io 连接的视图时,我的应用程序变得无响应。为了尝试隔离问题,我创建了另一个简单的应用程序,发现使用pubsub.listen()导致了问题:
我启动应用程序的方式如下:
但是,如果使用示例中的serve.py,我只能让我的应用程序工作:
不幸的是,这对于开发来说相当麻烦,因为我失去了--reload功能。理想情况下,我想使用paste 集成入口点
我注意到的另一件事是gevent-sockectio Paster 集成不会猴子修补 gevent,而示例 server.py 可以。
如何让 pserve --reload 与 gevent-socketio 一起使用?
我已将我的测试应用程序上传到 github:https ://github.com/m-martinez/iotest
django - 在 django 视图之间共享 redis 连接
在调试时,我注意到每个访问 django 视图的 redis 都使用单独的 redis 连接。
为什么会这样?
django 是否为每个视图使用一个线程,而 redis-py 是否为每个线程创建一个连接?或者是其他什么原因?
如何让 django 在各种视图之间共享单个连接?
python - python redis pubsub阻塞
在上面的代码中我如何停止线程?
下面我有一个示例代码向您展示我想要的内容:
因此,当属性 stop == True 时,线程将退出循环并完成。那可能吗?如果不是,有什么替代方案?
python - Redisco ListField unicode 保存错误但验证为真
加载时:</p>
在 redis-cli 中:
那么造成这种情况的原因是什么?