美文网首页
32.Go语言·Redis

32.Go语言·Redis

作者: 一枼落知天下 | 来源:发表于2019-06-18 08:46 被阅读0次

ReadME.md

#./bin/redis-cli -h 127.0.0.1  -p 6379 -a Glen.Jhou@tutengdai.TTD
#Redis的数据类型(http://redisdoc.com/index.html):
    String(字符串)
        set/get/del
    Hash(哈希)

    List(列表)
    Set(集合)
    zset(有序集合)

github地址: 
https://github.com/garyburd/redigo

文档地址: 
http://godoc.org/github.com/garyburd/redigo/redis

获取:
go get github.com/garyburd/redigo/redis


github地址: 
https://github.com/go-redis/redis

文档地址: 
https://godoc.org/github.com/go-redis/redis

获取:
go get -u github.com/go-redis/redis

main01.go

package main

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

func main() {
    // 1.连接redis
    conn, err := redis.Dial("tcp", "127.0.0.1:6379", redis.DialPassword("Glen.Jhou@tutengdai.TTD"))
    if err != nil {
        fmt.Println(err)
        return
    }

    defer conn.Close()
    // 2.通过go,向redis写入数据 string [key-val]
    _, err = conn.Do("Set", "name", "IloveUer!")
    if err != nil {
        fmt.Println(err)
        return
    }

    // 3.通过go 向redis读取数据  string [key-val]

    val, err := redis.String(conn.Do("Get", "name"))
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(val)
}

main02.go

package main

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

func main() {
    // 1.连接redis
    conn, err := redis.Dial("tcp", "127.0.0.1:6379", redis.DialPassword("Glen.Jhou@tutengdai.TTD"))
    if err != nil {
        fmt.Println(err)
        return
    }

    defer conn.Close()
    // 2.通过go,向redis写入数据 hash
    // _, err = conn.Do("HSet", "student", "name", "Uzi")
    _, err = conn.Do("HMSet", "student", "name", "Uzi", "age", 18, "address", "成都")
    if err != nil {
        fmt.Println(err)
        return
    }

    // 3.通过go 向redis读取数据

    // val, err := redis.String(conn.Do("HGet", "student", "name"))
    val, err := redis.Strings(conn.Do("HMGet", "student", "name", "age", "address"))
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(val)
}

redis连接池.redis.go

package main

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

var content string = `
————————————————Go语言·redis连接池————————————————————

`

var pool *redis.Pool

func init() {
    pool = &redis.Pool{
        MaxIdle:     8,   //最大空闲链接数
        MaxActive:   0,   //表示和数据库的最大连接数,0表示没有限制
        IdleTimeout: 100, //最大空闲时间
        Dial: func() (redis.Conn, error) {
            // 初始化连接
            return redis.Dial("tcp", "127.0.0.1:6379", redis.DialPassword("Glen.Jhou@tutengdai.TTD"))
        },
    }
}

func main() {

    conn := pool.Get()

    defer conn.Close()

    _, err := conn.Do("HMSet", "student", "name", "Uzi", "age", 18, "address", "成都")
    if err != nil {
        fmt.Println(err)
        return
    }

    val, err := redis.Strings(conn.Do("HMGet", "student", "name", "age", "address"))
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(val)

    pool.Close()

    conn2 := pool.Get()
    value, err := redis.Strings(conn2.Do("HMGet", "student", "name", "age", "address"))
    if err != nil {
        // conn2.Do: redigo: get on closed pool
        fmt.Println("conn2.Do:",err)
        return
    }
    fmt.Println(value)
}

相关文章

  • 32.Go语言·Redis

    ReadME.md main01.go main02.go redis连接池.redis.go

  • Redis第四天

    Redis+Lua语言限流实战 Redis+LUA语言限流流程图 Redis+Lua语言抢红包实战

  • ssm项目_06_redis的持久化和集群

    1. Redis的安装和连接 1.1 redis的安装 Redis是c语言开发的。安装redis需要c语言的编译环...

  • redis的使用(Linux)

    Redis的安装 一、Redis的安装 Redis是c语言开发的。安装redis需要c语言的编译环境。如果没有gc...

  • redis集群

    1.解压-linux下安装redis Redis是c语言开发的安装redis需要c语言的编译环境。如果没有gcc需...

  • linux环境下Redis集群搭建

    Redis的安装 Redis是c语言开发的。安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yum...

  • redis6安装与配置详解

    安装 gcc版本问题避免 Redis是c语言开发的。安装redis需要c语言的编译环境。 安装redis6最主要的...

  • java连接redis

    语言语言:Java专用数据库:redis 安装redis 启动redis 为了实现连接,需要导入两个程序包,分别为...

  • 基于redis的分布式限流方案

    为什么要选用redis: redis效率高,易扩展redis对语言无关,可以更好的接入不同语言开发的系统(异构)r...

  • Go语言操作Redis

    Go语言操作Redis 在项目开发中redis的使用也比较频繁,本文介绍了Go语言中go-redis库的基本使用。...

网友评论

      本文标题:32.Go语言·Redis

      本文链接:https://www.haomeiwen.com/subject/iscxqctx.html