18
Golang基础学习-redis使用
source link: https://studygolang.com/articles/25947
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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 参考
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK