ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

golang redis消息队列

2020-05-28 17:56:50  阅读:217  来源: 互联网

标签:return err nil 队列 fmt redis golang error


package main

import (
    "fmt"
    "time"

    "github.com/garyburd/redigo/redis"
)

const (
    RedisURL            = "redis://127.0.0.1:6379"
    redisMaxIdle        = 3   //最大空闲连接数
    redisIdleTimeoutSec = 240 //最大空闲连接时间
    RedisPassword       = "123456"
)

// NewRedisPool 返回redis连接池
func NewRedisPool(redisURL string) *redis.Pool {
    return &redis.Pool{
        MaxIdle:     redisMaxIdle,
        IdleTimeout: redisIdleTimeoutSec * time.Second,
        Dial: func() (redis.Conn, error) {
            c, err := redis.DialURL(redisURL)
            if err != nil {
                return nil, fmt.Errorf("redis connection error: %s", err)
            }
            //验证redis密码
            if _, authErr := c.Do("AUTH", RedisPassword); authErr != nil {
                return nil, fmt.Errorf("redis auth password error: %s", authErr)
            }
            return c, err
        },
        TestOnBorrow: func(c redis.Conn, t time.Time) error {
            _, err := c.Do("PING")
            if err != nil {
                return fmt.Errorf("ping redis error: %s", err)
            }
            return nil
        },
    }
}

func set(k, v string) {
    c := NewRedisPool(RedisURL).Get()
    defer c.Close()
    _, err := c.Do("SET", k, v)
    if err != nil {
        fmt.Println("set error", err.Error())
    }
}

func getStringValue(k string) string {
    c := NewRedisPool(RedisURL).Get()
    defer c.Close()
    username, err := redis.String(c.Do("GET", k))
    if err != nil {
        fmt.Println("Get Error: ", err.Error())
        return ""
    }
    return username
}
func main() {
    set("ds","cd")
    fmt.Println(getStringValue("ds"))
}

golang redis消息队列

 

要设置下密码

127.0.0.1:6379> auth 123456
ERR Client sent AUTH, but no password is set

设置其密码

redis 127.0.0.1:6379> CONFIG SET requirepass "123456"
OK
redis 127.0.0.1:6379> AUTH 123456
Ok

设置下这个配置密码就好了

标签:return,err,nil,队列,fmt,redis,golang,error
来源: https://www.cnblogs.com/newmiracle/p/12982453.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有