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 ...
随机推荐
- VUE知识day3_vue-cli脚手架安装和webpack模板项目生成
ue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. GitHub地址是:https://github.com/vuejs/vue-cli 一.安 ...
- java笔记--ASCII编码认知和转换
ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示英语字符是当今最通用的单字节编码.包括128个字符. --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs. ...
- ML机器学习导论学习笔记
机器学习的定义: 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以 ...
- 绘制虚线的UIView
绘制虚线的UIView CAShapeLayer配合贝塞尔曲线可以绘制曲线,笔者继承了一个UIView的子类,并将该子类的backedLayer替换为CAShapeLayer,以此来实现绘制虚线的效果 ...
- Linux 下Wordpress博客搭建
Wordpress # 下载安装文件 cd /usr/local/nginx/html/blog wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN ...
- MySQL 数据库--权限管理
权限管理 1.创建账号 创建本地账号 create user 'luke'@'localhost' identified by '123'; #mysql -uluke -p123 创建远程账号 cr ...
- .NET Reflector注册问题
reflector工具不错, 终于8.x了,也可以注册了,但是不小心注册成standard版本了,但vs中无法使用,于是各种删注册表,后来找到何英涛的解决方案 下面介绍一个Reflector很坑的一个 ...
- LNMP-day3-php扩展缓存插件
perl的编译问题 [root@localhost php5.6.33]# echo 'export LC_ALL=C' >> /etc/profile #设置环境变量,解决后面perl ...
- [BZOJ 2186][SDOI 2008] 莎拉公主的困惑
2186: [Sdoi2008]沙拉公主的困惑 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 4519 Solved: 1560[Submit][S ...
- codeforces 1000F One Occurrence(线段树、想法)
codeforces 1000F One Occurrence 题意 多次询问lr之间只出现过一次的数是多少. 题解 将查询按照左端点排序,对于所有值维护它在当前位置后面第二次出现是什么时候,那么查询 ...