Golang中通过go-redis操作Redis

参考地址:https://github.com/go-redis/redis

定义上下文以及连接的相关信息

var ctx = context.Background()
var rdb = redis.NewClient(&redis.Options{
    Addr: "localhost:6379",
})

string

func TestString(t *testing.T)  {
    rdb.Set(ctx, "key", "value", 0)
    result, err := rdb.Get(ctx, "key").Result()
    if err != nil {
        panic(err)
    }
    fmt.Println("key", result)
}

set

func TestSet(t *testing.T)  {
   addCmd := rdb.SAdd(ctx, "set", "s1", "s2", "s3")
   fmt.Println(addCmd)
   stringSliceCmd := rdb.SMembers(ctx, "set")
   for _,v := range stringSliceCmd.Val() {
      fmt.Println(v)
   }
}

zset

可以通过zset实现排行榜的功能

func TestZSet(t *testing.T)  {
   intCmd := rdb.ZAdd(ctx, "zset",
      &redis.Z{Score: 10, Member: "GetcharZp"},
      &redis.Z{Score: 50, Member: "B-zero"},
      &redis.Z{Score: 20, Member: "GetcharMmc"})
   fmt.Println(intCmd)
   zRange := rdb.ZRange(ctx, "zset", 0, 10)
   for _, v := range zRange.Val() {
      fmt.Println(v)
   }
}

hash

func TestHash(t *testing.T)  {
   intCmd := rdb.HSet(ctx, "hash", map[string]string{"k1": "v1", "k2": "v2", "k3": "v3"})
   fmt.Println(intCmd)
   // 通过指定map中的key获取值
   getOne := rdb.HGet(ctx, "hash", "k1")
   fmt.Println(getOne.Val())
   all := rdb.HGetAll(ctx, "hash")
   for key, value := range all.Val() {
      fmt.Println("key --> ", key, " value --> ", value)
   }
}

list

func TestList(t *testing.T)  {
   intCmd := rdb.LPush(ctx, "list", "l1", "l2", "l3")
   fmt.Println(intCmd)
   lRange := rdb.LRange(ctx, "list", 0, 3) // 从最左边开始取数据
   for _, v := range lRange.Val() {
      fmt.Println(v)
   }
}

Original: https://www.cnblogs.com/GetcharZp/p/15839259.html
Author: GetcharZp
Title: Golang中通过go-redis操作Redis

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529460/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 继承与初始化

    了解包括继承在内的初始化全过程: 执行结果: 程序运行时,先试图访问Beetle.main()(一个static方法),访问Beetle类的静态方法将会使Beetle类加载,即加载…

    Linux 2023年6月8日
    0114
  • 如何使用IDEA进行DOCKER调试

    引言在日常的开发过程中我们使用的开发环境通常与正式环境并不一致,这样就比较容易出现一些意外。于是我们通常会借助docker来让我们的开发和正式环境一致。那如何在docker中进行运…

    Linux 2023年6月14日
    0121
  • 20 年老程序员告诉你的 20 条编码原则

    我从 1999 年就开始了编程生涯,到今年已经有 20 多年了。我先是从 Basic 开始,很快转到了 Pascal 和 C 语言,然后又学习了面向对象编程语言 Delphi 和 …

    Linux 2023年6月8日
    0102
  • JCL 日志门面

    JCL( Jakarta Commons Logging ),是 Apache 提供的一个 通用日志 API 。用户可以自由选择第三方的日志组件作为具体实现,像 Log4j 或 J…

    Linux 2023年6月8日
    092
  • win10安装redis

    下载地址:https://github.com/MicrosoftArchive/redis/releases 这个太慢了 https://github.com/ServiceSt…

    Linux 2023年5月28日
    0127
  • MySQL注入 利用系统读、写文件

    MySQL能读写系统文件的前提 不同系统、不同的数据库版本有细微差异,以下实验在Windows10和Mysql 5.7.26下操作; 1.拥有该File的读权限 、 该目录写的权限…

    Linux 2023年6月6日
    0117
  • Pytorch Tensor 维度的扩充和压缩

    维度扩展 x.unsqueeze(n) 在 n 号位置添加 一个维度 例子: import torch x = torch.rand(3,2) x1 = x.unsqueeze(0…

    Linux 2023年6月7日
    094
  • K8S的apiVersion版本详解

    1. 背景 Kubernetes的官方文档中并没有对apiVersion的详细解释,而且因为K8S本身版本也在快速迭代,有些资源在低版本还在beta阶段,到了高版本就变成了stab…

    Linux 2023年6月14日
    083
  • 个人超级计算机

    这篇文章是回答一位用户的问题。 问:站长,我是一个在读研究生,正在学习分布式计算、高性能集群计算方面的知识,Laxcus分布式操作系统也是我的学习模板之一,但是我发现,无论是编程开…

    Linux 2023年6月6日
    095
  • ajax跨域问题

    public class CrosFilter implements Filter { @Override public void destroy() { // TODO Auto…

    Linux 2023年6月7日
    0109
  • vi/vim编辑器tar 命令

    一开始进入的模式 此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置 操作类型 操作键 功能 翻页 Pagedown Pageup 向下翻页 向上翻页 行…

    Linux 2023年6月6日
    080
  • 【Python】【Flask】【字符串索引】计算人民币与美元的相互计算

    简介 Python Code 导包 设置首页 计算的接口 问题0:设置请求方式 问题1:关于接收数据可能存在的问题 问题2:返回结果 启动 完整代码 HTML Code 问题分析 …

    Linux 2023年6月14日
    0105
  • 06-MyBatis中ResultType和ResultMap的区别

    MyBatis中ResultType和ResultMap的区别 如果数据库结果集中的列名和要封装的属性名完全一致的话用 resultType属性 如果数据库结果集中的列名和要封装实…

    Linux 2023年6月7日
    0107
  • CentOS 7 安装 mysql 5.7.27 for zabbix

    本文是因为需要安装zabbix系统,才贴出的此步骤,供自己查阅方便之用; 在安装使用zabbix前,需要先安装数据库,这里使用的是MySQL数据库进行部署,给出安装步骤,大家觉得有…

    Linux 2023年6月8日
    0105
  • Linux下创建桌面快捷方式

    建立一个文本文件,文件名必须以.desktop结尾,.desktop前面的作为快捷方式的名称 添加如下内容 [Desktop Entry]Encoding=UTF-8Name=Po…

    Linux 2023年6月6日
    098
  • 《Redis开发与运维》——(六)Redis复制(脑图)

    posted @2021-01-09 15:05 雪山上的蒲公英 阅读(91 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs….

    Linux 2023年5月28日
    081
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球