django - 如何注意到在redis中已经创建了一个键

标签 django redis

我有一个外部服务会向redis插入数据(我可以得到数据的键),但这可能需要一些时间,所以问题是,我怎么才能知道数据来了。我想在基于 django 的页面中显示吗??

最佳答案

使用redis的PUB/SUB

当您的其他服务插入新数据时,在某个 channel 上发布 key ...

所以你的 django 订阅 channel “datachanged”

./redis-cli subscribe "datachanged"

并且您的服务通过 channel 发送事件

./redis-cli set "key:abc123" "some value"
./redis-cli publish "datachanged" "key:abc123"

如果您的 redis 比 2.8.0 ( http://redis.io/topics/notifications) 更新,您也可以使用“Redis Keyspace Notifications”

关于django - 如何注意到在redis中已经创建了一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24478275/

相关文章:

go - 在结构的字段上实现 Redigo Scanner 接口(interface)

json - 从具有字符串化JSON的redis列表中删除一个元素作为Node.js中列表的元素

php - 无法从 json_encoded 数组获取数据

javascript - 为什么我的 VueJs 组件没有显示在前端?

django - 在没有 VirtualEnv 的情况下运行 Pinax

django - 在 Django+Django REST 中创建具有外键关系的嵌套资源

ruby-on-rails - 连接到 127.0.0.1 上的 Redis 时出错 :6379(ECONNREFUSED) on rails application

redis - GeoServer 无法从 Redis 池中获取资源

python - 如何将 STL、网格导入 Django views.py 或 models.py

django - django 中奇怪的数据库问题