123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package model
- import (
- "active/constant"
- "fmt"
- "sync"
- "git.jiaxianghudong.com/go/logs"
- "git.jiaxianghudong.com/webs/pkg/rds"
- "github.com/go-redis/redis"
- )
- // AppBannersCache 广告轮播缓存
- var AppBannersCache sync.Map
- // GetBanner 轮播数据
- func GetBanner() []AppsBanner {
- // 先读取缓存
- if data, ok := AppBannersCache.Load("AppBanners"); ok {
- return data.([]AppsBanner)
- }
- bannerdata, err := GetBannerData()
- if err != nil {
- return bannerdata
- }
- logs.Info("Set AppBanners cahce success!")
- AppBannersCache.Store("AppBanners", bannerdata)
- return bannerdata
- }
- // SubAdsRedisConfig 运行时轮播广告订阅
- func SubAdsRedisConfig() {
- r := rds.Register("redis8")
- _, err := r.Ping().Result()
- if err != nil {
- fmt.Println("配置订阅错误", err)
- }
- // 监听test频道
- pubSub := r.Subscribe(constant.SUBADTOPIC)
- // 订阅
- go func() {
- fmt.Println("配置订阅启动2")
- var receipt interface{}
- var err error
- for {
- receipt, err = pubSub.Receive()
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println("配置订阅消息来了3")
- switch v := receipt.(type) {
- case *redis.Message: // 单个订阅subscribe
- fmt.Printf("%s: message: %s\n", v.Channel, v.Payload)
- switch v.Payload {
- case "AppBanners":
- AppBannersCache.Delete("AppBanners")
- fmt.Println("AppBanners,内容订阅完毕")
- break
- default:
- }
- case error:
- fmt.Println("你好")
- return
- default:
- fmt.Println("pong....")
- }
- }
- }()
- }
|