go-redis 发布/订阅

栏目: 数据库 · 发布时间: 7年前

内容简介:最近golang 的项目开始使用redis 对于redis 真的是接触少,而且是golang版本的 只能是看着文档一点一点的入手了

go-redis 发布/订阅

最近golang 的项目开始使用 redis 对于redis 真的是接触少,而且是golang版本的 只能是看着文档一点一点的入手了

连接初始化

RedisClient = redis.NewClient(&redis.Options{
            Addr:     "localhost:6379",
            Password: "", // no password set
            DB:       0,  // use default DB
        })

发布

//参数1 频道名 字符串类型 
    //参数2 发送的内容 他是个 interface{} 类型 因为我要和前端对接 所以data是我转的json字符

    err := RedisClient.Publish("message", data).Err()
        if err != nil {
            return errors.New("发布失败")
        }

订阅

func Subscribe(){
        //参数1 频道名 字符串类型
        pubsub := redis.Redis.Subscribe("homework")
            _, err := pubsub.Receive()
            if err != nil {
                
                return
            }
            ch := pubsub.Channel()
            for msg := range ch {
                fmt.Println( msg.Channel, msg.Payload, "\r\n")
            }
    }
    这里的订阅了频道,阻塞了代码继续执行,所以我们 需要 go Subscribe() 来让我们的程序 继续执行 并且go Subscribe() 写在init方法内 服务启动只执行一次

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

《Unity3D网络游戏实战(第2版)》

《Unity3D网络游戏实战(第2版)》

罗培羽 / 机械工业出版社 / 2019-1-1 / 89.00元

详解Socket编程,搭建稳健的网络框架;解决网游中常见的卡顿、频繁掉线等问题;探求适宜的实时同步算法。完整的多人对战游戏案例,揭秘登录注册、游戏大厅、战斗系统等模块的实现细节。 想要制作当今热门的网络游戏,特别是开发手机网络游戏,或者想要到游戏公司求职,都需要深入了解网络游戏的开发技术。本书分为三大部分,揭示网络游戏开发的细节。 第一部分“扎基础”(1-5章) 介绍TCP网络游......一起来看看 《《Unity3D网络游戏实战(第2版)》》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具