Go语言基础之操作Redis.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Go语⾔基础之操作Redis Go语⾔操作Redis 在项⽬开发中redis的使⽤也⽐较频繁,本⽂介绍了Go语⾔如何操作Redis。 Redis介绍 Redis是⼀个开源的内存数据库,Redis提供了5种不同类型的数据结构,很多业务场景下的问题都可以很⾃然地映射到这些数据结构上。除 此之外,通过复制、持久化和客户端分⽚等特性,我们可以很⽅便地将Redis扩展成⼀个能够包含数百GB数据、每秒处理上百万次请求的系 统。 Redis⽀持的数据结构 Redis⽀持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、带范围查询的排序集合(sorted sets)、位图 (bitmaps)、hyperloglogs、带半径查询和流的地理空间索引等数据结构(geospatial indexes)。 Redis应⽤场景 缓存系统,减轻主数据库(MySQL)的压⼒。 计数场景,⽐如微博、抖⾳中的关注数和粉丝数。 热门排⾏榜,需要排序的场景特别适合使⽤ZSET。 利⽤LIST可以实现队列的功能。 Redis与Memcached⽐较 Memcached中的值只⽀持简单的字符串,Reids⽀持更丰富的5中数据结构类型。 Redis的性能⽐Memcached好很多 Redis⽀持RDB持久化 和AOF持久化。 Redis⽀持master/slave模式。 Go操作Redis 安装 goget -u /go-redis/redis 连接 // 声明⼀个全局的redisdb变量 var redisdb *redis.Client // 初始化连接 func initClient() (err error) { redisdb = redis.NewClient(redis.Options{ localhost:6379Addr: , Password:,// no password set 0,// use default DBDB: }) _, err = redisdb.Ping().Result() if err != nil { return err } return nil } 基本使⽤ set/get⽰例 func redisExample() { err := redisdb.Set(score,100,0).Err() if err != nil { set score failed, err:%v\nfmt.Printf( , err) return } val, err := redisdb.Get(score).Result() if err != nil { get score failed, err:%v\nfmt.Printf( , err) return } fmt.Println(score, val) val2, err := redisdb.Get(name).Result() if err == redis.Nil { name does not existfmt.Println() elseif} err != nil { get name failed, err:%v\nfmt.Printf( , err) return else {} namefmt.Println(, val2) } } zset⽰例 func redisExample2() { zsetKey :=language_rank languages := []*redis.Z{ redis.Z{Score:90.0, Member:Golang}, redis.Z{Score:98.0, Member:Java}, redis.Z{Score:95.0, Member:Python}, redis.Z{Score:97.0, Me

文档评论(0)

文库垃圾佬 + 关注
实名认证
文档贡献者

这个人很懒

1亿VIP精品文档

相关文档