使用go来操作redis的方法示例

 更新时间:2019年04月01日 17:23:14   作者:stpeace  
今天小编就为大家分享一篇关于使用go来操作redis的方法示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

Redis简单介绍

简介

关于Redis的讨论,其实在现在的后台开发中已经是个老生常谈的问题,基本上也是后端开发面试的基本考察点。其中 Redis的背景介绍和细节说明在这里就不赘述。不管怎么介绍,核心在于Redis是一个基于内存的key-value的多数据结构存储,并可以提供持久化服务。基于内存的特性决定了Redis天然适合高并发的数据读写缓存优化,同时也带来了内存开销过大的问题。所以在一些特定情景下,Redis是一把无往不利的大杀器,值得深入学习。

安装redis, 运行如下go代码:

package main
import (
  "time"
  "fmt"
  "github.com/go-redis/redis"
)
var Client *redis.Client
func init() {
  Client = redis.NewClient(&redis.Options{
    Addr:     "127.0.0.1:6379",
    PoolSize:   1000,
    ReadTimeout: time.Millisecond * time.Duration(100),
    WriteTimeout: time.Millisecond * time.Duration(100),
    IdleTimeout: time.Second * time.Duration(60),
  })
  _, err := Client.Ping().Result()
  if err != nil {
    panic("init redis error")
  } else {
    fmt.Println("init redis ok")
  }
}
func get(key string) (string, bool) {
  r, err := Client.Get(key).Result()
  if err != nil {
    return "", false
  }
  return r, true
}
func set(key string, val string, expTime int32) {
  Client.Set(key, val, time.Duration(expTime) * time.Second)
}
func main() {
  set("name", "x", 100)
  s, b := get("name")
  fmt.Println(s, b)
}

结果:

init redis ok
x true

过期时间是100s,  过期后,get无法获取信息, 返回了nil

简单, 不多说。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • 在golang xorm中使用postgresql的json,array类型的操作

    在golang xorm中使用postgresql的json,array类型的操作

    这篇文章主要介绍了在golang xorm中使用postgresql的json,array类型的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Golang实现Java虚拟机之解析class文件详解

    Golang实现Java虚拟机之解析class文件详解

    这篇文章主要为大家详细介绍了Golang实现Java虚拟机之解析class文件的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • golang-gin-mgo高并发服务器搭建教程

    golang-gin-mgo高并发服务器搭建教程

    这篇文章主要介绍了golang-gin-mgo高并发服务器搭建教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go语言开发环境搭建与初探(Windows平台下)

    Go语言开发环境搭建与初探(Windows平台下)

    Go是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言,可能很多人想学习go语言,那么首先就要了解go语言的环境配置方法
    2014-10-10
  • golang中defer的基本使用教程

    golang中defer的基本使用教程

    go语言中defer可以完成延迟功能,当前函数执行完成后再执行defer的代码块,下面这篇文章主要给大家介绍了关于golang中defer基本使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Go语言中的iota关键字的使用

    Go语言中的iota关键字的使用

    这篇文章主要为大家详细介绍了Go语言中的iota关键字的相关使用,文中的示例代码讲解详细,对我们深入了解Go语言有一定的帮助,需要的可以参考下
    2023-08-08
  • Go语言题解LeetCode1051高度检查器示例详解

    Go语言题解LeetCode1051高度检查器示例详解

    这篇文章主要为大家介绍了Go语言题解LeetCode1051高度检查器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Golang中的自定义函数详解

    Golang中的自定义函数详解

    函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。
    2018-10-10
  • golang实现命令行程序的使用帮助功能

    golang实现命令行程序的使用帮助功能

    这篇文章介绍了golang实现命令行程序使用帮助的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 基于Golang container/list实现LRU缓存

    基于Golang container/list实现LRU缓存

    Least Recently Used (LRU) ,即逐出最早使用的缓存,这篇文章主要为大家介绍了如何基于Golang container/list实现LRU缓存,感兴趣的可以了解下
    2023-08-08

最新评论