Golang基础学习-redis使用

栏目: IT技术 · 发布时间: 6年前

内容简介:docker和golang 已经提前安装;/Users/Keil/data:存储数据的目录,实际可根据自己开发环境测试### 4.1 初始化

Golang基础学习-redis使用

1.开发环境

系统OS: MAC  
docker版本: 19.03.5  
Golang版本: go version go1.13.4 darwin/amd64  
redis版本: redis:lastest

2.安装 redis

docker和golang 已经提前安装;

  • docker pull redis:latest
  • docker run --name redisserver -d -p 6379:6379 -v Users/Keil/data:/data redis redis-server --appendonly yes

/Users/Keil/data:存储数据的目录,实际可根据自己开发环境测试

3. 引入 redis 的package

  • go get -u github.com/go-redis/redis

4. redis常用方法

### 4.1 初始化

var (  
   RedisIp    = "127.0.0.1"
   RedisPort  = "6379" 
   expireTime = 600
   rdb  *redis.Client
)

rdb = redis.NewClient(&redis.Options{ Addr: RedisIp + ":" + RedisPort, Password: "", }) 
    _, err := rdb.Ping().Result() 
   if err != nil {
       fmt.Println("redis连接错误")
}

4.2 string操作

4.2.1 判断 key是否存在

a, err := rdb.Exists("ming").Result() 
    if err != nil {
        fmt.Println("判断key存在失败")
        return 
    } 
    if a == 1 { 
        fmt.Println("key存在") 
    }

4.2.2存储key

err = rdb.Set("ming", "ming", time.Duration(expireTime)*time.Second).Err()
if err != nil { 
    fmt.Println("设置key失败") 
    return 
}

4.2.3 获取key

value, err := rdb.Get("ming").Result() 
if err != nil { 
   fmt.Println("设置key失败") 
   return
} 
fmt.Println(value)

4.2.4 设置过期时间

err = rdb.Expire("ming", time.Duration(300)*time.Second).Err()
if err != nil {
   fmt.Println("设置过期时间") 
   return
}

### 4.3 哈希

4.3.1设置hash

status, err := rdb.HSet("ming1", "id", "12313").Result()  
if err != nil {  
   fmt.Println("err:redis服务异常")  
   return  
}  
if true == status {  
   fmt.Println("值已存在")  
} else {  
   fmt.Println("设置成功")  
}

4.3.2 获取key

key, err := rdb.HGet("ming1", "id").Result()  
if err != nil {  
   fmt.Println("获取不到值")  
   return  
}  
fmt.Println(key)

4.3.3 判断hash中,值是否存在

status, _ = rdb.HExists("ming1", "id").Result()  
if true == status {  
   fmt.Println("值已存在")  
} else {  
   fmt.Println("设置成功")  
}

4.3.4. 删除hash中的值

statusDel, err := rdb.HDel("ming1", "id").Result()  
if err != nil {  
  fmt.Println("err:redis服务异常")  
  return  
}  
if 1 == statusDel {  
  fmt.Println("删除hash值:id成功")  
}

4.4.4 删除key

statusDel, err = rdb.Del("ming").Result()  
if 1 == statusDel {  
   fmt.Println("删除值成功")  
}

5 参考


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

引爆流行

引爆流行

[美] 马尔科姆·格拉德威尔 / 钱清、覃爱冬 / 中信出版社 / 2002-7 / 18.00元

马尔科姆·格拉德威尔以社会上突如其来的流行风潮研究为切入点,从一个全新的角度探索了控制科学和营销模式。他认为,思想、行为、信息以及产品常常会像传染病爆发一样,迅速传播蔓延。正如一个病人就能引起一场全城流感;如果个别工作人员对顾客大打出手,或几位涂鸦爱好者管不住自己,也能在地铁里掀起一场犯罪浪潮;一位满意而归的顾客还能让新开张的餐馆座无虚席。这些现象均属“社会流行潮”,它爆发的那一刻,即达到临界水平......一起来看看 《引爆流行》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具