当前位置: 首页 > news >正文

万网站建设太原北京网站建设

万网站建设,太原北京网站建设,定制手机网站开发,软文网站大全文章目录1. 概述与特性2. 安装与初始化2.1 安装2.2 初始化3 基本使用模式3.1 单实例客户端3.2 连接池与自动重连4. 常用 Redis 数据结构操作4.1 字符串#xff08;String#xff09;4.2 哈希#xff08;Hash#xff09;4.3 列表#xff08;List#xff09;4.4 集合#… 文章目录1. 概述与特性2. 安装与初始化2.1 安装2.2 初始化3 基本使用模式3.1 单实例客户端3.2 连接池与自动重连4. 常用 Redis 数据结构操作4.1 字符串String4.2 哈希Hash4.3 列表List4.4 集合Set4.5 有序集合ZSet4.6 事务Tx/TxPipeline1. 概述与特性 go-redis 是一个高性能、功能丰富的 Redis 客户端库支持 Redis 的大部分核心特性字符串、哈希、列表、集合、有序集合、事务、Lua 脚本、发布订阅、Pipeline、Cluster、Sentinel 等。 提供了对 Redis 6/7 及以上版本的特性支持包含专门的客户端下载与连接管理、上下文感知 API、以及对 Redis 模块/RESP3 的部分支持。 官方地址与文档https://github.com/go-redis/redis 2. 安装与初始化 2.1 安装 使用 go.mod 管理依赖 go get github.com/go-redis/redis/v8Go 版本要求1.18go-redis v8 基于 go mod使用模块版本推荐使用 go1.18这里使用的是最新版本go1.24。 2.2 初始化 package mainimport (errorsfmtgithub.com/go-redis/redis )var client *redis.Clientfunc initClient() (err error) {client redis.NewClient(redis.Options{Addr: localhost:6379,Password: ,DB: 1,PoolSize: 100,DialTimeout: 5 * time.Second,ReadTimeout: 3 * time.Second,WriteTimeout: 3 * time.Second,PoolSize: 10, // 连接池大小MinIdleConns: 2,})_, err client.Ping().Result()if err ! nil {return err}return nil }func initClient2() (err error) {// 哨兵模式client redis.NewFailoverClient(redis.FailoverOptions{MasterName: mymaster,SentinelAddrs: []string{localhost:6379},})_, err client.Ping().Result()if err ! nil {return err}return nil }func initClient3() (err error) {// 连接redis集群rds : redis.NewClusterClient(redis.ClusterOptions{Addrs: []string{7000, 7001, 7002, 7003, 7004, 7005},})_, err rds.Ping().Result()if err ! nil {return err}return nil }func main() {err : initClient()if err ! nil {panic(err)}fmt.Println(redis connect success...)result, err : client.Get(1).Result()if err ! nil {return}fmt.Println(result) }}3 基本使用模式 3.1 单实例客户端 语法糖使用 rdb.Get、rdb.Set 等方法返回的错误大多用 err ! nil 判断。 func singleInstanceDemo() { client : newClient() defer client.Close()// 设置键值 if err : client.Set(ctx, key, value, 0).Err(); err ! nil { // handle error }// 获取值 val, err : client.Get(ctx, key).Result() if err ! nil { // 处理错误不存在等情况 } else { fmt.Println(value:, val) }// 自增 client.Incr(ctx, counter) }3.2 连接池与自动重连 go-redis 通过 Options 提供连接池设置 PoolSize: 最大并发连接数MinIdleConns: 最小空闲连接数量MaxRetries: 全局重试次数MinRetryBackoff / MaxRetryBackoff: 重试间隔DialTimeout、ReadTimeout、WriteTimeout对于短连接场景也能高效工作确保在应用生命周期内复用一个客户端实例。 4. 常用 Redis 数据结构操作 4.1 字符串String Set、Get、Incr、Decr、MGet、MSet、GetSet、Append 等常用操作。 client.Set(ctx, name, GoLang, 0) name, _ : client.Get(ctx, name).Result client.Incr(ctx, age) vals, _ : client.MGet(ctx, name, age).Result4.2 哈希Hash HSet、HGet、HGetAll、HExists、HDel、HMSet在 v8 内置 HMSet 的行为变更推荐使用 HSet client.HSet(ctx, user:1000, name, Alice, age, 30) name, _ : client.HGet(ctx, user:1000, name).Result all, _ : client.HGetAll(ctx, user:1000).Result4.3 列表List LPUSH、RPUSH、LPOP、RPOP、LRANGE、LPOS client.RPush(ctx, queue, task1, task2) item, _ : client.LPop(ctx, queue).Result4.4 集合Set SADD、SMEMBERS、SISMEMBER、SPOP、SUNION client.SAdd(ctx, tags, go, redis) members, _ : client.SMembers(ctx, tags).Result4.5 有序集合ZSet ZADD、ZRANGE、ZREVRANGE、ZCARD、ZSCORE client.ZAdd(ctx, leaders, redis.Z{Score: 100, Member: alice}) score, _ : client.ZScore(ctx, leaders, alice).Result4.6 事务Tx/TxPipeline 事务模式有乐观/乐观锁风格go-redis 提供 Tx、TxPipelined 等接口。 tx : client.TxPipeline() tx.Set(ctx, k1, v1, 0) tx.Incr(ctx, counter) _, _ : tx.Exec(ctx)TxPipelined带闭包的流水线事务 _, err : client.TxPipelined(ctx, func(pipe redis.Pipeliner) error { pipe.Incr(ctx, counter) pipe.Set(ctx, k1, v1, 0) return nil })
http://www.pierceye.com/news/403739/

相关文章:

  • 高唐企业建网站服务商wordpress google
  • 重庆网站开发商城最近新闻有哪些
  • 电商网站设计线路图有哪些网络推广平台
  • 海门市建设局网站科技与应用
  • 北京做网站s免费做app网站有哪些
  • 免费制作网页的网站网络营销师报名官网
  • 长沙网站制作好公司网络服务模型
  • 网站开发的时间流程微信平台可以做微网站吗
  • 镇江网站seo天猫网店代运营
  • 吴江城乡住房和城乡建设局网站怎么给别人做网站优化
  • 名师工作室网站建设 意义网站图片上浮动文字
  • 做co的网站商城网站不备案
  • 黄山建设网站公司电话网站下载链接怎么做
  • 开发企业网站多少钱电视剧排行榜百度搜索风云榜
  • 什么网站做软文装修公司报价如何计算
  • 网站开发免费视频播放器应用公园app免费制作
  • 道路建设去什么网站能看到做内贸注册什么网站
  • 代理东莞网站制作公司wordpress前台用户中心代码
  • 做拼团网站下载wap浏览器
  • 网站建设合同文百科阿里云加WordPress建站
  • 服装购物网站排名ppt制作神器
  • 长沙营销策划公司排名如何优化企业网站
  • 北京制卡厂家做卡公司北京制卡网站_北京制卡_北京 去114网wordpress 关闭注册
  • 网站建设技术优势广州天河区医院
  • python和php网站开发中国十大公司排行榜
  • 网站栅格如何建设一个外卖订餐平台网站
  • 浙江省网站建设报价群晖wordpress不成功
  • 音乐网站制作策划书网站建设公司的服务公司
  • 南昌定制网站开发多少钱手机在线网页制作
  • 无锡网站推广$做下拉去118cr高端网站建设苏州