go之需要帮助从 Go 消费者将数据排入 Redis 队列
shangdawei
阅读:27
2025-06-02 22:19:02
评论:0
我正在尝试从我的 Go Consumer 将数据推送到 redis 队列中。
我使用的包是 "github.com/kavu/go-resque"
我使用的redis驱动是 “github.com/kavu/go-resque/go-redis”和 "github.com/go-redis/redis"
我的代码如下所示:
"github.com/kavu/go-resque"
_"github.com/kavu/go-resque/go-redis"
"github.com/go-redis/redis"
"time"
"strings"
redisClient := redis.NewClient(&redis.Options{
Addr: myRedisIp,
Password: "", // no password set
DB: 0, // use default DB
DialTimeout: 10 * time.Second,
})
enqueuer := resque.NewRedisEnqueuer("go-redis", redisClient,"test-redis")
_, err := enqueuer.Enqueue("resque:queue:myQueueName", "Demo::Job", 1, 2, "test")
if err != nil {
fmt.Println("putting into queue failed error="+err.Error())
}else{
fmt.Println("putting into queue success")
}
请您参考如下方法:
我终于能够实现这一点。分享步骤:
Resque 包 :
"github.com/kavu/go-resque"此外,安装驱动程序包,即您希望 resque 使用的 redis 包。有多种选择,例如:Go-redis、Godis、hoisie、redisGo 等
就我而言,我是 Go-Redis .
所以,我安装了
"github.com/kavu/go-resque/go-redis""github.com/go-redis/redis" rc := redisQueue.New("Your redis server IP") enqueuer := resque.NewRedisEnqueuer("redis-go", rc,"resque:") 这里,第一个参数是驱动程序名称,如 godis、redis-go 等。第二个参数是 redis 客户端,即 Go-redis 客户端或 godis 客户端等。第三个参数是命名空间。这就是您要在 queueName 中附加的内容。
NumPacketsInQueue, err = enqueuer.Enqueue(queueName,"",args1,args2...) 上面代码行中的第二个空参数是作业类。我将其保留为空。
在这里,最终的队列名称将是 resque:queue:queueName
链接:
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



