首页 > 数据库 >go操作redis

go操作redis

时间:2023-04-08 22:33:18浏览次数:32  
标签:Do err age redis num go 操作 fmt

前言:

使用第三方开源的redis库: github.com/gomodule/redigo/redis

需要先安装redis包

go get github.com/gomodule/redigo/redis

 

正文:

 

window下打开redis服务:

打开cmd命令行窗口

cd C:\Program Files\Redis

redis-server.exe redis.windows.conf

本地连接redis

telnet 127.0.0.1 6379

 

redis操作

连接redis

c, err = redis.Dial("tcp", "localhost:6379")

if err != nil {

log.Fatal(err)

}

 设置值

c.Do("set", "age", 33)

设置过期时间为10s               

c.Do("expire", "age", 10)          

获取值

age, _ := redis.String(c.Do("get", "age"))

设置获取多个值

c.Do("mset", "userName", "lampol", "pass", "12346522")

获取多个值

res, _ := redis.Strings(c.Do("mget", "userName", "pass"))

 

Redis操作实例:

import (
	"fmt"
	"github.com/gomodule/redigo/redis"
	"log"
)

var c redis.Conn
var err error

func init() {
	//连接redis
	c, err = redis.Dial("tcp", "localhost:6379")
	if err != nil {
		log.Fatal(err)
	}
}

func doString() {
	//设置获取单个值
	c.Do("set", "age", 33)                     //设置值
	c.Do("expire", "age", 10)                  //设置过期时间为10s
	age, _ := redis.String(c.Do("get", "age")) //获取值
	fmt.Println(age)
	//设置获取多个值
	c.Do("mset", "userName", "lampol", "pass", "12346522")

	res, _ := redis.Strings(c.Do("mget", "userName", "pass"))
	fmt.Println(res)
}

// 列表操作
func doList() {
	//设置列表
	c.Do("lpush", "num", 3, 5, 7)
	//获取列表
	num, _ := redis.Int(c.Do("rpop", "num"))
	fmt.Println(num)
	num1, _ := redis.Int(c.Do("rpop", "num"))
	fmt.Println(num1)
}

// hash操作
func doHash() {
	//设置
	c.Do("hset", "userinfo", "username", "lampol")

	str, _ := redis.String(c.Do("hget", "userinfo", "username"))
	fmt.Println(str)
}

func main() {
	defer c.Close()
	//doString()
	//doList()
	doHash()
}

  完结

 

标签:Do,err,age,redis,num,go,操作,fmt
From: https://www.cnblogs.com/ypeih/p/17299431.html

相关文章

  • go操作memcache
    先下载包:gogetgithub.com/bradfitz/gomemcache/memcache window下打开memcache服务:cdC:\ProgramFiles\memcachedmemcached.exestart 再打开一个cmd窗口连接memcachedtelnetlocalhost11211测试一下setkey005hellogetkeygo操作示例1: import( "fmt......
  • Go接口:运维开发场景中,go的接口到底怎么用?
    golang的接口是什么在Golang中,接口是一种类型,它是由一组方法签名组成的抽象集合。接口定义了对象应该具有的行为,而不关心对象的具体实现。实现接口的对象必须实现接口定义的所有方法,这样才能称为该接口的实现。什么情况下要用接口定义通用的方法:接口可以定义一组通用的方法,......
  • 什么是 Google Tag Manager 的 Data Layer Object?
    在GoogleTagManager中,DataLayerObject是一个JavaScript对象,它可以用于在页面上收集和传递数据。DataLayerObject通常用于将有关用户和页面的信息收集和传递给GoogleAnalytics或其他第三方分析和营销工具。使用DataLayerObject,您可以在网站的任何地方设置变量并将......
  • Python ORM Pony MySQL数据库 常用操作
    Pony是一个高级的对象关系映射器ORM框架。Pony它能够使用Python生成器表达式和lambdas向数据库编写查询。Pony分析表达式的抽象语法树,并将其转换为SQL查询。支持SQLite,MySQL,PostgreSQL和Oracle等数据库,本文主要介绍PythonORMPony中MySQL数据库常用操作,及数据增加、删除、修......
  • 鼠标键盘操作Actions类和Robot
    Actions类一、鼠标右击、双击Java代码//定位百度首页右上角新闻WebElementXw=driver.findElement(By.xpath("//*[@id='u1']/a[1]"));//newActions对象ActionsRightClick=newActions(driver);//在新闻上点击鼠标右键RightClick.contextClick(Xw).perform();T......
  • Django基础 - 05Model模型之CRUD
     一、模型类的objects1.1objects字段默认情况下,由创建模型类的元类在模型类中创建一个 django.db.models.Manager类的对象,赋给objects。 Manager类实际是QuerySet类的子类。classCategoryEntity(models.Model):objects=models.Manager()#objects必须为......
  • 浏览器常用操作命令
    一、浏览器操作命令启动火狐浏览器(49版本以下)System.setProperty("webdriver.firefox.bin","D:\\Firefox\\firefox.exe");WebDriverdriver=newFirefoxDriver();(谷歌和IE通过浏览器驱动启动浏览器)启动谷歌浏览器System.setProperty("webdriver.chrome.driver","E:\\c......
  • MongoDB 数据库
    MongoDB数据库"NoSQL"⼀词最早于1998年被⽤于⼀个轻量级的关系数据库的名字随着web2.0的快速发展,NoSQL概念在2009年被提了出来NoSQL在2010年⻛⽣⽔起,现在国内外众多⼤⼩⽹站,如facebook、google、淘宝、京东、百度等,都在使⽤nosql开发⾼性能的产品对于⼀名程序员来讲......
  • Redis 数据库
    Redis数据库客户端和服务端命令服务器端服务器端的命令为redis-server可以使⽤help查看帮助⽂档redis-server--help服务器操作psaux|grepredis查看redis服务器进程sudokill-9pid杀死redis服务器sudoredis-server/etc/redis/redis.conf指定加载的配置文件......
  • go语言学习-冒泡排序
    冒泡排序冒泡排序属于交换类的排序算法,比如有一段乱序的数,591681464925463第一轮迭代:从第一个数开始,依次比较相邻的两个数,如果后面的一个数比前面的一个数大,那么交换位置,直接到处理最后一个数,最后这个数是最大的第二轮迭代,因为最后一个数已经是最大的了,重复第一轮操作,......