如何通过golang 连接阿里云的redis实例(golang带账号密码访问redis)

前言:

随着云技术和5G的到来,高并发、低延时、高扩展的需求必定会越来越高。并且现在的云技术实在超过了绝大多数小公司的技术积累,所以笔者认为将来必定会越来越多的公司会将自己的业务挪到云上来,也就是说将来需要的开发人员应该会越来越少,技术也会越来越来依靠云来开发,而且听说钉钉在搭建一个平台,让开发的门槛变得更低,再加上今年的大学毕业生又创了新高,这些种种都意味着今后程序员这碗饭会越来越吃不稳,那么作为像笔者这样本身不是一个非常优秀的学校毕业,而且又没有一个特别优秀的技术,还想要继续吃这碗饭的,应该怎么办呢。我这边目前想的都就是笨鸟先飞,既然我们已经看到了未来的发展趋势,那么可以提前往这个方面靠,比如提前接触以云为依靠的开发,提前学一门自己认为以后会火的语言,我这边就是选择了阿里云和golang。

 

步骤:

一.第一步当然是消费啦,去阿里云官网购买一款心仪的redis实例,然后通过控制台进入到自己的redis实例

二.

进入实例后,有些小伙伴就开始有问题了,进入实例后发现看不到自己的实例,那应该怎么办呢。没错,看到截图上的序号1了吗?这个位置需要选中你购买时选择的区域。选择以后就能看见你自己的实例了,然后点击序号2的位置,进入详情页面。

三.

                                                                                                                                                          步骤主页面

1.设置白名单

点击步骤主页面的序号1

点击序号1,在序号2中填入你分组名(不重要,如意如意,随你心意),序号三种填入本地的外网ip(不知道的自行百度怎么查看)

2.登录数据库

点击步骤主页面序号2

登录数据库后就可以进行一些简单的redis指令,可以玩起来了

接下下就要想办法让我们本地也能连进来了

3.账号管理

点击步骤主页面的序号3

账号分为两种(圈起来后面要考):1.默认的账号,需要重置一次密码,不然不知道密码是啥

                             2.新建的账号,分为账号和密码两部分

4.申请外网连接

点击步骤主页面的label4,(我已将申请了,所以是释放,没申请的是“申请外网连接”)

(假装有图) 点击确认,就申请成功了

Golang连接(来看golang的朋友终于找到要点了)

1.目录结构

2.代码

main.go

package main

import (
	"aliRedis/redisC"
	"fmt"
	"github.com/garyburd/redigo/redis"
)



var m_conn redis.Conn

func B2S(bs []uint8) string {
	ba := []byte{}
	for _, b := range bs { ba = append(ba, byte(b)) }
	return string(ba)
}
func main() {
	conn,_ := redisC.InitRedis("xxxxxxxxx:6379","wty:995187021-a",0)

	conn.SetValue("fdd","love go")

	value,_ := conn.GetValue("fdd")

	fmt.Println(B2S(value.([]uint8)))
}

特别提示:(一般人不提示的那种)

xxxxxxx:此处为服务器地址(这是秘密不想被看见)

服务器地址后面是用户名和密码,默认账号的话就直接填密码就行了,新建账号需要填账号:密码的格式,和上图一样(啥?你不知道默认账号和新建账号是啥?说了要考就考到了吧。。。)

redisC.go

 

package redisC

import (
	"fmt"
	"github.com/garyburd/redigo/redis"
)

type RedisC struct{
	conn redis.Conn
}

func InitRedis(severHost, pwd string, dbIndex int) (*RedisC, *RedisC) {
	setdb := redis.DialDatabase(dbIndex)//输入数据库序号
	setPasswd := redis.DialPassword(pwd)//设置密码

	conn,err := redis.Dial("tcp",severHost,setdb,setPasswd)//填写网络类型和服务器地址后连接
	if err != nil {//连接错误
		fmt.Println("connect redis error :",err)
		return nil, nil
	}
	return &RedisC{
		conn,
	}, nil
}

func (c *RedisC)GetValue(key string)(interface{},error){//获取一个value
	return c.conn.Do("get",key)
}

func (c *RedisC)SetValue(key,value string) error{//设置一组key-value
	_,err := c.conn.Do("set",key,value)
	return err
}

 

总结:

  说实在的,虽然阿里这个有很多的文档,但是正真玩的时候还是挺容易碰壁的,但是我相信没有人是一蹴而就,刚开始都不过是摸石头过河。愿天下程序员都有光明(不是因为秃头的那种)的未来。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值