Go *** 作Redis数据库

Go *** 作Redis数据库,第1张

Redis数据库介绍

Redis支持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、带范围查询的排序集合(sorted sets)、位图(bitmaps)、hyperloglogs。

Redis应用场 缓存系统,减轻主数据库(MySQL)的压力。计数场景,比如微博、抖音中的关注数和粉丝数。热门排行榜,需要排序的场景特别适合使用ZSET。利用LIST可以实现队列的功能。 go-redis库 区别于另一个比较常用的Go语言redis client库:redigo,我们这里采用https://github.com/go-redis/redis连接Redis数据库并进行 *** 作,因为go-redis支持连接哨兵及集群模式的Redis。
go get -u github.com/go-redis/redis
如果使用的是Goland集成工具的话,就直接github.com/go-redis/redis右击导入就行了

右击选择依赖导入即可,超级方便。然后就可进行连接 *** 作了 redis连接
package main

import (
	"fmt"
	"github.com/go-redis/redis"
)

// redis

// 定义一个全局变量
var redisdb *redis.Client

func initRedis()(err error){
	redisdb = redis.NewClient(&redis.Options{
		Addr: "127.0.0.1:6379",  // 指定
		Password: "",
		DB:0,		// redis一共16个库,指定其中一个库即可
	})
    _,err = redisdb.Ping().Result()
	return
}

func main() {
	err := initRedis()
	if err != nil {
		fmt.Printf("connect redis failed! err : %v\n",err)
		return
	}
	fmt.Println("redis连接成功!")
}
超级方便的哈。

现在我们来进行基本的使用吧,原来我们说过,一共五种数据类型:string,hash,list,set,sortset。

	// 存普通string类型,10分钟过期
	redisdb.Set("test:name","科科儿子",time.Minute*10)
	// 存hash数据
	redisdb.HSet("test:class","521",42)
	// 存list数据
	redisdb.RPush("test:list",1)  // 向右边添加元素
	redisdb.LPush("test:list",2)  // 向左边添加元素
	// 存set数据
	redisdb.SAdd("test:set","apple")
	redisdb.SAdd("test:set","pear")

可以看出来哈,都存进去了,还有一个zset哦,这个有点麻烦,所以我们单独讲讲
// zset 添加
func zset()  {
	key := "rank"
	items := []redis.Z{
		redis.Z{Score: 90,Member:"PHP"},
		redis.Z{Score: 93,Member:"JAVA"},
		redis.Z{Score: 96,Member:"C++"},
		redis.Z{Score: 92,Member:"PYTHON"},
		redis.Z{Score: 100,Member:"GOLANG"},
	}
	// 添加元素到redis中
	_,err := redisdb.ZAdd(key, items...).Result()
	if err != nil {
		fmt.Printf("redis zadd failed! err:%v\n",err)
		return
	}
	fmt.Println("数据传输成功!!!")
}
也是说白了也就这样,啊哈哈哈哈哈哈go还是香的呀,所有的命令都是原生的,原来是啥就是啥,不像Java,上面ops啥的,老长老长了。 zset还可以进行一些细节的 *** 作

加减 *** 作

添加 *** 作,可以看到,这个给go添加了10份后,就超过了C了哈,你问我减法是上面?你不会加个负数呀,不就是减法了,啊哈哈哈哈哈哈

按名次取值 *** 作

可以看出哈,我们取出了前三哈

按分数范围取值

可以看出是按照93-100分内进行取值的哈。还是很方便的哦! 根据前缀获取key

超级方便哈!!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/989592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存