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

编程自学免费网站十款看免费行情的软件

编程自学免费网站,十款看免费行情的软件,把别人的图片拿来做网站,锦州网站建设多少钱本文主要介绍redis安装和使用。首先安装redis依赖库#xff0c;这里是v8版本#xff1b;然后连接redis#xff0c;完成基本配置#xff1b;最后测试封装的工具类 文章目录 安装redis依赖库连接redis和配置工具类封装代码测试 欢迎大家访问个人博客网址#xff1a;https://… 本文主要介绍redis安装和使用。首先安装redis依赖库这里是v8版本然后连接redis完成基本配置最后测试封装的工具类 文章目录 安装redis依赖库连接redis和配置工具类封装代码测试 欢迎大家访问个人博客网址https://www.maogeshuo.com博主努力更新中… 参考文件 Yaml文件配置Config使用Log日志封装常用工具类封装 安装redis依赖库 命令行安装redis go get github.com/go-redis/redis/v8连接redis和配置 首先创建了一个 Redis 客户端并连接到本地 Redis 服务器默认端口为 6379。连接完成后使用Ping函数测试连接是否成功。 package coreimport (contextfmtgithub.com/go-redis/redis/v8time )// https://zhuanlan.zhihu.com/p/637537337 // https://blog.csdn.net/qq_44237719/article/details/128920821var Redis *RedisClienttype RedisClient struct {client *redis.Clientctx context.Context }// InitRedis 初始化redis func InitRedis() {redisConfig : Config.Redisclient : redis.NewClient(redis.Options{Addr: fmt.Sprintf(%s:%d, redisConfig.Host, redisConfig.Port),Password: redisConfig.Password,DB: redisConfig.Db,})redisClient : RedisClient{client: client,ctx: context.Background(),}Redis redisClient_, err : client.Ping(client.Context()).Result()if err ! nil {LOG.Println(redis连接失败)return}LOG.Println(redis连接成功) }工具类封装 /*------------------------------------ 字符 操作 ------------------------------------*/// Set 设置 key的值 func (this *RedisClient) Set(key, value string) bool {result, err : this.client.Set(this.ctx, key, value, 0).Result()if err ! nil {LOG.Println(err)return false}return result OK }// SetEX 设置 key的值并指定过期时间 func (this *RedisClient) SetEX(key, value string, ex time.Duration) bool {result, err : this.client.Set(this.ctx, key, value, ex).Result()if err ! nil {LOG.Println(err)return false}return result OK }// Get 获取 key的值 func (this *RedisClient) Get(key string) (bool, string) {result, err : this.client.Get(this.ctx, key).Result()if err ! nil {LOG.Println(err)return false, }return true, result }// GetSet 设置新值获取旧值 func (this *RedisClient) GetSet(key, value string) (bool, string) {oldValue, err : this.client.GetSet(this.ctx, key, value).Result()if err ! nil {LOG.Println(err)return false, }return true, oldValue }// Incr key值每次加一 并返回新值 func (this *RedisClient) Incr(key string) int64 {val, err : this.client.Incr(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return val }// IncrBy key值每次加指定数值 并返回新值 func (this *RedisClient) IncrBy(key string, incr int64) int64 {val, err : this.client.IncrBy(this.ctx, key, incr).Result()if err ! nil {LOG.Println(err)}return val }// IncrByFloat key值每次加指定浮点型数值 并返回新值 func (this *RedisClient) IncrByFloat(key string, incrFloat float64) float64 {val, err : this.client.IncrByFloat(this.ctx, key, incrFloat).Result()if err ! nil {LOG.Println(err)}return val }// Decr key值每次递减 1 并返回新值 func (this *RedisClient) Decr(key string) int64 {val, err : this.client.Decr(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return val }// DecrBy key值每次递减指定数值 并返回新值 func (this *RedisClient) DecrBy(key string, incr int64) int64 {val, err : this.client.DecrBy(this.ctx, key, incr).Result()if err ! nil {LOG.Println(err)}return val }// Del 删除 key func (this *RedisClient) Del(key string) bool {result, err : this.client.Del(this.ctx, key).Result()if err ! nil {return false}return result 1 }// Expire 设置 key的过期时间 func (this *RedisClient) Expire(key string, ex time.Duration) bool {result, err : this.client.Expire(this.ctx, key, ex).Result()if err ! nil {return false}return result }/*------------------------------------ list 操作 ------------------------------------*/// LPush 从列表左边插入数据并返回列表长度 func (this *RedisClient) LPush(key string, date ...interface{}) int64 {result, err : this.client.LPush(this.ctx, key, date).Result()if err ! nil {LOG.Println(err)}return result }// RPush 从列表右边插入数据并返回列表长度 func (this *RedisClient) RPush(key string, date ...interface{}) int64 {result, err : this.client.RPush(this.ctx, key, date).Result()if err ! nil {LOG.Println(err)}return result }// LPop 从列表左边删除第一个数据并返回删除的数据 func (this *RedisClient) LPop(key string) (bool, string) {val, err : this.client.LPop(this.ctx, key).Result()if err ! nil {LOG.Println(err)return false, }return true, val }// RPop 从列表右边删除第一个数据并返回删除的数据 func (this *RedisClient) RPop(key string) (bool, string) {val, err : this.client.RPop(this.ctx, key).Result()if err ! nil {fmt.Println(err)return false, }return true, val }// LIndex 根据索引坐标查询列表中的数据 func (this *RedisClient) LIndex(key string, index int64) (bool, string) {val, err : this.client.LIndex(this.ctx, key, index).Result()if err ! nil {LOG.Println(err)return false, }return true, val }// LLen 返回列表长度 func (this *RedisClient) LLen(key string) int64 {val, err : this.client.LLen(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return val }// LRange 返回列表的一个范围内的数据也可以返回全部数据 func (this *RedisClient) LRange(key string, start, stop int64) []string {vales, err : this.client.LRange(this.ctx, key, start, stop).Result()if err ! nil {LOG.Println(err)}return vales }// LRem 从列表左边开始删除元素data 如果出现重复元素仅删除 count次 func (this *RedisClient) LRem(key string, count int64, data interface{}) bool {_, err : this.client.LRem(this.ctx, key, count, data).Result()if err ! nil {fmt.Println(err)}return true }// LInsert 在列表中 pivot 元素的后面插入 data func (this *RedisClient) LInsert(key string, pivot int64, data interface{}) bool {err : this.client.LInsert(this.ctx, key, after, pivot, data).Err()if err ! nil {LOG.Println(err)return false}return true }/*------------------------------------ set 操作 ------------------------------------*/// SAdd 添加元素到集合中 func (this *RedisClient) SAdd(key string, data ...interface{}) bool {err : this.client.SAdd(this.ctx, key, data).Err()if err ! nil {LOG.Println(err)return false}return true }// SCard 获取集合元素个数 func (this *RedisClient) SCard(key string) int64 {size, err : this.client.SCard(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return size }// SIsMember 判断元素是否在集合中 func (this *RedisClient) SIsMember(key string, data interface{}) bool {ok, err : this.client.SIsMember(this.ctx, key, data).Result()if err ! nil {LOG.Println(err)}return ok }// SMembers 获取集合所有元素 func (this *RedisClient) SMembers(key string) []string {es, err : this.client.SMembers(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return es }// SRem 删除 key集合中的 data元素 func (this *RedisClient) SRem(key string, data ...interface{}) bool {_, err : this.client.SRem(this.ctx, key, data).Result()if err ! nil {LOG.Println(err)return false}return true }// SPopN 随机返回集合中的 count个元素并且删除这些元素 func (this *RedisClient) SPopN(key string, count int64) []string {vales, err : this.client.SPopN(this.ctx, key, count).Result()if err ! nil {LOG.Println(err)}return vales }/*------------------------------------ hash 操作 ------------------------------------*/// HSet 根据 key和 field字段设置field字段的值 func (this *RedisClient) HSet(key, field, value string) bool {err : this.client.HSet(this.ctx, key, field, value).Err()if err ! nil {return false}return true }// HGet 根据 key和 field字段查询field字段的值 func (this *RedisClient) HGet(key, field string) string {val, err : this.client.HGet(this.ctx, key, field).Result()if err ! nil {LOG.Println(err)}return val }// HMGet 根据key和多个字段名批量查询多个 hash字段值 func (this *RedisClient) HMGet(key string, fields ...string) []interface{} {vales, err : this.client.HMGet(this.ctx, key, fields...).Result()if err ! nil {panic(err)}return vales }// HGetAll 根据 key查询所有字段和值 func (this *RedisClient) HGetAll(key string) map[string]string {data, err : this.client.HGetAll(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return data }// HKeys 根据 key返回所有字段名 func (this *RedisClient) HKeys(key string) []string {fields, err : this.client.HKeys(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return fields }// HLen 根据 key查询hash的字段数量 func (this *RedisClient) HLen(key string) int64 {size, err : this.client.HLen(this.ctx, key).Result()if err ! nil {LOG.Println(err)}return size }// HMSet 根据 key和多个字段名和字段值批量设置 hash字段值 func (this *RedisClient) HMSet(key string, data map[string]interface{}) bool {result, err : this.client.HMSet(this.ctx, key, data).Result()if err ! nil {LOG.Println(err)return false}return result }// HSetNX 如果 field字段不存在则设置 hash字段值 func (this *RedisClient) HSetNX(key, field string, value interface{}) bool {result, err : this.client.HSetNX(this.ctx, key, field, value).Result()if err ! nil {LOG.Println(err)return false}return result }// HDel 根据 key和字段名删除 hash字段支持批量删除 func (this *RedisClient) HDel(key string, fields ...string) bool {_, err : this.client.HDel(this.ctx, key, fields...).Result()if err ! nil {LOG.Println(err)return false}return true }// HExists 检测 hash字段名是否存在 func (this *RedisClient) HExists(key, field string) bool {result, err : this.client.HExists(this.ctx, key, field).Result()if err ! nil {LOG.Println(err)return false}return result }代码测试 func TestRedis() {core.Redis.Set(test, value1)if ok, s : core.Redis.Get(test); ok {core.LOG.Println(test: , s)}core.Redis.SetEX(test2, value2, 10*time.Minute)if okEx, sEx : core.Redis.Get(test2); okEx {core.LOG.Println(test2: , sEx)} }
http://www.zqtcl.cn/news/749246/

相关文章:

  • wordpress个人展示网站6新西兰网站后缀
  • 为什么自己做的网站别人打不开三门峡市湖滨区建设局网站
  • 长春网长春网站建设络推广工程建设国家标准网站
  • 微网站开发 mui框架网站备案幕布拍照是什么
  • 北京天通苑 做网站西安百度网站建设
  • 辽阳建设网站学校 网站 建设 目的
  • 建设电影网站赚钱公司简介模板免费word简易
  • 响应式网站设计的主页自己做装修效果图app软件
  • 做网站最简单的方法做网站开发挣钱吗
  • 网站建设基础入门国内免费的ip地址
  • wordpress 付费剧集网站坐什么网站能用到html5
  • 孝感房产网站建设wordpress E405
  • 做窗帘网站图片大全WordPress一键安装安全
  • 怎样查询网站的备案号广西住房和城乡建设厅网站证件
  • 网站区域名怎么注册网站群建设 中标
  • 官方网站 建设情况汇报网页设计开发培训
  • 门户网站的细分模式有房价暴跌开始了
  • 公司备案查询网站备案江苏省网站备案系统
  • 专业网站制作公司采用哪些技术制作网站?seo求职
  • 服装网页设计网站有个做名片什么的网站
  • 购买网站平台如何做分录泰安网站开发公司
  • 音乐介绍网站怎么做的光辉网络 石家庄网站建设
  • 沈阳网站建设搭建天元建设集团有限公司开票信息
  • 昆明网站建设公司哪家好预约网站模板
  • 自己怎么申请网站空间浙江省建设科技推广中心网站
  • 网站后台管理系统怎么添加框wordpress上传之后
  • 网站编辑属于什么行业义乌做网站哪家好
  • 沂水网站开发移动知识库管理系统
  • 成都有哪些网站建设的公司河南网站建设优化推广
  • 小说投稿赚钱的网站网站后台管理系统多少钱