首页 > 数据库 >操作Redis之redigo

操作Redis之redigo

时间:2024-03-14 17:45:32浏览次数:20  
标签:Do Redis fmt redis redigo res Println 操作 conn

目录

一、go操作redis的选择

  • golang操作redis主要有两个库,go-redisredigo

  • go-redis:star数更多,支持连接哨兵及集群模式的Redis

  • redigo:star数少一些,操作更简单

二、redigo快速使用

安装:go get github.com/garyburd/redigo/redis

1. 快速链接

func main() {
	conn,err:=redis.Dial("tcp", "localhost:6379")
	if err!=nil {
		fmt.Println("连接出错",err)
		return
	}
	defer conn.Close()
	res,err:=conn.Do("ping")
	fmt.Println(res)

}

三、redis操作

func main() {
	conn,err:=redis.Dial("tcp", "localhost:6379")
	if err!=nil {
		fmt.Println("连接出错",err)
		return
	}
	defer conn.Close()
	res,err:=conn.Do("ping")
	fmt.Println(res)
	// 1 字符串 set  get
	//res,_=conn.Do("set","name","lqz")
	//fmt.Println(res)
	//res,_=redis.String(conn.Do("get","name"))
	//fmt.Println(res)

	//2 MSet   MGet
	//conn.Do("MSet", "name", "刘清政", "age", 19)
	//r, _ := redis.Strings(conn.Do("MGet", "name", "age"))
	//fmt.Println(r)

	// 3 expire
	//res,err=conn.Do("expire", "name", 5)

	//4 lpush lpop
	conn.Do("lpush", "hobby", "篮球", "足球", "乒乓球")
	r, _ := redis.String(conn.Do("lpop", "hobby"))
	fmt.Println(r)

	// 5 hset  hget
	conn.Do("HSet", "userinfo", "name", "lqz")
	r,_ = redis.String(conn.Do("HGet", "userinfo", "name"))
	fmt.Println(r)


}

四、连接池

func main() {
	var pool *redis.Pool
	pool = &redis.Pool{
		MaxIdle:     10,  //最初的连接数量
		MaxActive:   0,   //连接池最大连接数量,(0表示自动定义),按需分配
		IdleTimeout: 300, //连接关闭时间 300秒 (300秒不使用自动关闭)
		Dial: func() (redis.Conn, error) { //要连接的redis数据库
			return redis.Dial("tcp", "localhost:6379")
		},
	}
	conn := pool.Get() //从连接池,取一个链接
	defer conn.Close()
	res, _ := conn.Do("ping")
	fmt.Println(res)

}

标签:Do,Redis,fmt,redis,redigo,res,Println,操作,conn
From: https://www.cnblogs.com/Mcoming/p/18073553

相关文章

  • redis自学(18)epoll
    Epollepoll模式是对select和poll的改进,它提供了三个函数:       Epoll有没有解决之前select或者poll的问题? select或者poll把要监听的数组或集合拷贝到内核空间,等待FD就绪,就绪后,还要拷贝回用户空间。 epoll把select函数的功能拆分开了,建立eventpoll以后......
  • 数组常见操作【最大/最小/数据反转操作】
    importjava.util.Scanner;publicclassday_4_5{publicstaticvoidmain(String[]args){/*数组的常见操作*///遍历int[]arr={3,5,2,1,4};intmax=arr[0];intmax1=0;intmax2=0;for(in......
  • 【掌握版本控制:Git 入门与实践指南】远程操作|标签管理
                             ......
  • 并发支持库:原子操作类型
    原子操作这些组件为细粒度的原子操作提供,允许无锁并发编程。类型别名atomic_bool(C++11)std::atomic(typedef)atomic_char(C++11)std::atomic(typedef)atomic_schar(C++11)std::atomic(typedef)atomic_uchar(C++11)std::atomic(typedef)atomic_short(......
  • Spring-Redis 使用
    基本类型:String存储数据:stringRedisTemplate.opsForValue().set("key","value");获取数据:Stringvalue=stringRedisTemplate.opsForValue().get("key");设置数据的过期时间(单位为秒):stringRedisTemplate.expire("key",60,Tim......
  • 操作DOM对象
    创建一个标签,实现插入<script>varjs=document.getElementById('js');//已经存在的节点varlist=document.getElementById('list');//通过js创建一个节点varnewp=document.createElement('p')//创建一个p标签newp.id='newp'newp.inner......
  • 操作DOM
    事件<title>Title</title><scriptsrc="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script><style>#divMove{width:500px;height:500px;border:1pxsolidred;}</st......
  • 面试知识汇总:Redis简介
    RemoteDictionaryServer(远程字典服务),是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。基本的数据结构:String是Redis最基础的数据结构类型,它是二进制安全的,可以存储图片或者序列化的对象,值最大存储为512M。......
  • 第二章操作系统进程与线程
    一、进程的概念组成特征    程序的概念:静态的,存放在磁盘内的可执行文件,一系列的指令集合        进程的概念:动态的,程序的执行过程    进程创建时,会被操作系统分配一个唯一的、不重复的编号                进程实体(进程映像)的组成......
  • Python 文件操作(小结)
    目录1打开文件1.1文件路径1.2打开‘中文’文件1.3 with打开1.3打开模式1.4打开异常2读取文件2.1一次性读取全部,read()2.2遍历文件,每次读取一行2.3with外使用文件内容3写文件1打开文件1.1文件路径程序文件所在路径为“当前路径”。(1)如果文件位于“......