go get github.com/gomodule/redigo/redis

1. 基本用法

  1. 获取连接
package conn

import (
"github.com/gomodule/redigo/redis"
"log"
) const (
redis_passwd = ""
redis_host = ""
redis_port = ""
redis_address = "192.168.2.130:6379"
) func getConn() redis.Conn {
conn, err := redis.Dial("tcp", redis_address)
if err != nil {
log.Println("redis connect err", err)
panic(err)
}
return conn
}
  1. 操作redis
package conn

import (
"fmt"
"github.com/gomodule/redigo/redis"
"log"
) var c = getConn() //string 操作 func Set(key string, value interface{}) bool {
defer c.Close()
_, err := c.Do("set", key, value)
if err != nil {
log.Println("set a value error,", err)
return false
}
return true
} func Get(key string) string {
defer c.Close()
value, err := redis.String(c.Do("get", key))
if err != nil {
log.Println("get a value error,", err)
return ""
} return value
} func Del(key string) bool {
defer c.Close()
_, err := c.Do("del", key)
if err != nil {
log.Println("del a key error, ", err)
return false
}
return true
} //Hash操作
func HashSet(key string, data map[string]interface{}) {
defer c.Close()
for k, v := range data {
_, err := c.Do("hset", key, k, v)
if err != nil {
log.Println("hset a error, ", err)
continue
}
}
} func HashMGet(key string) map[string]interface{} {
defer c.Close() data := make(map[string]interface{}) reply, err := redis.ByteSlices(c.Do("hgetall", key))
if err != nil {
log.Println("hmget error, ", err)
return nil
}
for i, v := range reply {
fmt.Println(string(v))
if i % 2 == 0 {
data[string(v)] = string(reply[i+1])
}
continue
}
return data }

2. Redis连接池

package pool

import (
"github.com/gomodule/redigo/redis"
"time"
) var (
pool *redis.Pool
) const (
redis_host = "192.168.2.130:6379"
) func init() {
pool = &redis.Pool{
MaxIdle: 10,
MaxActive: 0, //0表示没有限制
IdleTimeout: 1 * time.Second,
Dial: func() (redis.Conn, error) {
return redis.Dial("tcp", redis_host)
},
}
}

获取连接:conn := pool.Get()

golang总结-Redis整合的更多相关文章

  1. SpringMVC+redis整合

    在网络上有一个很多人转载的springmvc+redis整合的案例,不过一直不完整,也是被各种人装来转去,现在基本将该框架搭建起来. package com.pudp.bae.base; import ...

  2. Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!

    Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...

  3. (六)SpringBoot2.0基础篇- Redis整合(JedisCluster集群连接)

    一.环境 Redis:4.0.9 SpringBoot:2.0.1 Redis安装:Linux(Redhat)安装Redis 二.SpringBoot整合Redis 1.项目基本搭建: 我们基于(五) ...

  4. SpringBoot+Redis整合

    SpringBoot+Redis整合 1.在pom.xml添加Redis依赖 <!--整合Redis--> <dependency> <groupId>org.sp ...

  5. go语言之行--golang操作redis、mysql大全

    一.redis 简介 redis(REmote DIctionary Server)是一个由Salvatore Sanfilippo写key-value存储系统,它由C语言编写.遵守BSD协议.支持网 ...

  6. ssm+redis整合(通过aop自定义注解方式)

    此方案借助aop自定义注解来创建redis缓存机制. 1.创建自定义注解类 package com.tp.soft.common.util; import java.lang.annotation.E ...

  7. ssm+redis整合(通过cache方式)

    这几天的研究ssm redis 终于进入主题了,今天参考了网上一些文章搭建了一下ssm+redis整合,特别记录下来以便以后可以查询使用,有什么不足请大牛们提点 项目架构 1.pom.xml < ...

  8. SpringBoot日记——Redis整合

    上一篇文章,简单记录了一下缓存的使用方法,这篇文章将把我们熟悉的redis整合进来. 那么如何去整合呢?首先需要下载和安装,为了使用方便,也可以做环境变量的配置. 下载和安装的方法,之前有介绍,在do ...

  9. Redis windows环境安装 以及 redis整合spring

    Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定.详情请参考: http://redis.io/download Redis官方是不支持wind ...

随机推荐

  1. 懒散的态度就是一剂慢性毒药——《我是一只IT小小鸟》读后感(第四周)

    进度拖延是所有团队项目的噩梦,有效的进度管理也许能够解决问题,但我认为更根本的是整个团队的工作态度.大家都希望能够加入一个人人都认真负责积极完成任务的团队,但比如何找这样一个团队更重要的是如何将自己变 ...

  2. Spring Cloud中,Eureka常见问题总结

    Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项 ...

  3. HTML后续

    列表标签 <ul>.<ol>.<dl> 列表标签 无序列表 属性: type="属性值".属性值可以选: disc(实心原点,默认),squar ...

  4. Python实例---三级菜单的实现[low]

    # version: python3.2.5 # author: 'FTL1012' # time: 2017/12/7 09:16 menu = { '陕西': { '西安': { '未名区': [ ...

  5. C++类知识总结

    c++类 1.初始化const或引用类型数据成员的唯一机会是在构造函数初始化列表中. 2.使用成员初始化列表时成员初始化的次序:第一个成员首先被初始化.然后是第二个,依次类推. 构造函数初始化列表为类 ...

  6. 删除 maven仓库,更新失败的jar包命令

    set REPOSITORY_PATH=D:\maven_cpbsrem ص‎شعثرث÷...for /f "delims=" %%i in ('dir /b /s " ...

  7. windows10 彻底卸载 Docker 和 DockerNAT

    删除docker程序 记事本新建脚本文件 a.ps1,内容如下: $ErrorActionPreference = "SilentlyContinue" kill -force - ...

  8. [EffectiveC++]item20:Prefer pass-by-reference-to-const to pass-by-value

  9. [朴孝敏/Loco][Nice Body]

    歌词来源:http://music.163.com/#/song?id=28738294 作曲 : 勇敢兄弟/大象王国 [作曲 : 勇敢兄弟/大象王国] 作词 : 勇敢兄弟 [作词 : 勇敢兄弟] A ...

  10. SuperSocket.ClientEngine介绍

    项目地址:https://github.com/kerryjiang/SuperSocket.ClientEngine 其中需要引入的SuperSocket.ProtoBase项目:SuperSock ...