golang总结-Redis整合
go get github.com/gomodule/redigo/redis
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
}
- 操作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整合的更多相关文章
- SpringMVC+redis整合
在网络上有一个很多人转载的springmvc+redis整合的案例,不过一直不完整,也是被各种人装来转去,现在基本将该框架搭建起来. package com.pudp.bae.base; import ...
- Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!
Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...
- (六)SpringBoot2.0基础篇- Redis整合(JedisCluster集群连接)
一.环境 Redis:4.0.9 SpringBoot:2.0.1 Redis安装:Linux(Redhat)安装Redis 二.SpringBoot整合Redis 1.项目基本搭建: 我们基于(五) ...
- SpringBoot+Redis整合
SpringBoot+Redis整合 1.在pom.xml添加Redis依赖 <!--整合Redis--> <dependency> <groupId>org.sp ...
- go语言之行--golang操作redis、mysql大全
一.redis 简介 redis(REmote DIctionary Server)是一个由Salvatore Sanfilippo写key-value存储系统,它由C语言编写.遵守BSD协议.支持网 ...
- ssm+redis整合(通过aop自定义注解方式)
此方案借助aop自定义注解来创建redis缓存机制. 1.创建自定义注解类 package com.tp.soft.common.util; import java.lang.annotation.E ...
- ssm+redis整合(通过cache方式)
这几天的研究ssm redis 终于进入主题了,今天参考了网上一些文章搭建了一下ssm+redis整合,特别记录下来以便以后可以查询使用,有什么不足请大牛们提点 项目架构 1.pom.xml < ...
- SpringBoot日记——Redis整合
上一篇文章,简单记录了一下缓存的使用方法,这篇文章将把我们熟悉的redis整合进来. 那么如何去整合呢?首先需要下载和安装,为了使用方便,也可以做环境变量的配置. 下载和安装的方法,之前有介绍,在do ...
- Redis windows环境安装 以及 redis整合spring
Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定.详情请参考: http://redis.io/download Redis官方是不支持wind ...
随机推荐
- Mac下完全删除GarageBand
https://www.tekrevue.com/tip/delete-garageband/ 已从应用程序列表删除,/资源库/Application Support/GarageBand/里的也删除 ...
- JS字面量创建方式的优缺点
http://www.cnblogs.com/wuyaxing/p/6416441.html
- javascript 字面量
https://www.cnblogs.com/radius/p/6874165.html
- Azure 虚拟机如何配置 AntiMalware
本文仅演示通过 PowerShell 方式安装并配置 AntiMalware 的过程. 经典虚拟机 立即访问http://market.azure.cn 加载 Antimalware ...
- 实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
//校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false retur ...
- js的一道经典题目
今天碰到一道题,里面既包含了匿名函数的知识,也包含了预编译,函数的传参(形参),感觉迷迷糊糊的,所以想着做个总结. var foo={n:1}; (function(foo){ console.log ...
- 沉淀再出发:Spring的架构理解
沉淀再出发:Spring的架构理解 一.前言 在Spring之前使用的EJB框架太庞大和重量级了,开发成本很高,由此spring应运而生.关于Spring,学过java的人基本上都会慢慢接触到,并且在 ...
- js url传值中文乱码完美解决(JAVA)
js url传值中文乱码完美解决(JAVA) 首先在你的jsp页面这样更改: var url="你要传入的Action的位置&ipid="+ipid+"& ...
- yum安装工具的理解
在安装gtk+编译环境的过程中,你会发现,RPM软件包之间的依赖关系非常复杂.在实际管理过程中,这种依赖关系可能会更加复杂.因此非常有必要寻找一种自动化安装工具,让安装工具自己处理这些关系复杂的依赖关 ...
- 粒子群优化算法PSO及matlab实现
算法学习自:MATLAB与机器学习教学视频 1.粒子群优化算法概述 粒子群优化(PSO, particle swarm optimization)算法是计算智能领域,除了蚁群算法,鱼群算法之外的一种群 ...