社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Redis

使用Redis作为Docker容器之间的链接

henleyhoudini • 6 年前 • 1388 次点击  

我有一个docker compose文件,里面有几个容器,其中两个应该通过Redis DB通信。两个容器都有到里德的连接,我可以从这两个容器读/写。不过,我希望每次从另一个容器添加内容时都触发一个容器。我想我可以通过Redis Sub/Pub来实现这一点,但是当我运行代码时,它不会触发任何东西,即使我可以看到我已经向Redis队列添加了新项。

我有两个问题: 一。我想做的是可能的吗?我可以在两个独立的docker容器中发布/订阅并期望它按上述方式工作吗? 2。如果可能的话,有人能给我指一下我用这个工具哪里出错了吗?

这是我的功能,我添加新的数据到Redis队列,然后在Docker容器1中发布数据。

func redisShare(key string, value string) {
jobsQueue.Set(key, value, 0) //setting in the queue
jobsQueue.Publish(key, value) //publishing for the other docker container to notice
fmt.Println("added ", key, "with a value of ", value, "to the redis queue")
}

我正在我的另一个docker容器中使用这一行订阅Redis队列并侦听更改: redisdb.Subscribe()

如果有东西被添加到redis队列中,它会将数据共享给另一个容器,我会看到收到的消息,但是现在Docker容器2只是运行然后关闭。

谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52726
文章 [ 2 ]  |  最新文章 6 年前