go
文章平均质量分 59
sweey_lff
记录中成长...
展开
-
golang SHA256WithRSA私钥加密
golang SHA256WithRSA私钥加密转载 2022-11-10 14:58:06 · 1434 阅读 · 0 评论 -
golang 生成RSA公钥和私钥文件
golang 生成RSA公钥和私钥文件转载 2022-11-10 14:54:45 · 1185 阅读 · 0 评论 -
kratos 配置文件热更新
一、配置文件的说明1.官方有关配置的文档:配置 | Kratos2. 配置的相关文件(以框架示例的配置文件为例)1)configs/config.yaml 为项目的配置文件,可进行配置内容的修改2)internal/conf 放配置文件的结构定义,.proto文件进行配置定义,然后通过在根目录执行make config,就可以将对应的.pb.go文件生成到相同的目录下供使用。3)cmd/server/main.go 是服务的入口,这个是服务的入口,我们默认使用了内置的config/.原创 2022-05-23 11:33:32 · 1200 阅读 · 0 评论 -
Asynq 实现 Go 异步任务处理
asynq异步任务的使用原创 2022-05-15 23:16:05 · 2854 阅读 · 0 评论 -
golang redis中Pipeline通道的使用
一、pipeline出现的背景redis客户端执行一条命令分4个过程:发送命令 -> 命令排队 -> 命令执行 -> 返回结果这个过程称为Round trip time(简称RTT, 往返时间),mget、mset有效节约了RTT,但大部分命令不支持批量操作,需要消耗N次RTT ,这个时候需要pipeline来解决这个问题。Pipeline 主要是一种网络优化,它本质上意味着客户端缓冲一堆命令并一次性将它们发送到服务器,减少了每条命令分别传输的IO开销, 同时减少了系统调原创 2022-05-15 15:33:40 · 1647 阅读 · 0 评论 -
golang MD5加密和MD5盐值加密
1.MD5加密方式1)MD5包:"crypto/md5"2)实现func genMd5(code string) string{ //c1 := md5.Sum([]byte(code)) //返回[16]byte数组 Md5 := md5.New() _, _ = io.WriteString(Md5, code) return hex.EncodeToString(Md5.Sum(nil))}2. MD5盐值加密我们可以使用github上别人写好的一个库:https:.原创 2022-02-14 17:55:54 · 2797 阅读 · 0 评论 -
grpc拦截器的使用
gRPC作为通用RPC框架,内置了拦截器功能。包括服务器端的拦截器和客户端拦截器,使用上大同小异。主要作用是在rpc调用的前后进行额外处理。拦截器在很多场景中使用,比如调用接口前验证用户是否登录,比如接口中判断用户的useragent做一些反爬的策略等等,大量的情况就是把请求拦截一下,做一下接口的预处理,我们不可能在每个接口中都写一遍,需要做统一的拦截器。实现简单的拦截器1)服务端:grpc.UnaryInterceptor(interceptor)interceptor是自定义的拦截器函数原创 2022-02-13 22:14:39 · 1458 阅读 · 0 评论 -
golang grpc中metadata的使用
gRPC让我们可以像本地调用一样实现远程调用,对于每一次的RPC调用中,都可能会有一些在header中传递的数据,而这些数据就可以通过metadata来传递。metadata是以key-value的形式存储数据的,其中key是string类型,value是[]string类型,即一个字符串切片类型。metadata使得client和server能够为对方提供关于本次调用的一些信息,就像一次http请求的RequestHeader和ResponseHeader一样。http中header的生命周期是一次h原创 2022-02-13 21:34:34 · 2216 阅读 · 0 评论 -
golang Redis的使用
1、Redis的介绍1)Redis:REmote DIctionary Server(远程字典服务器),是NoSQL数据库,不睡传统的关系型数据库。Redis性能非常高,单机能够达到15w qps,通常适合做缓存,也可以持久化。官网:https://redis.io/快速进行命令查找:Redis 命令参考 — Redis 命令参考2)Redis五大数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、zset(sorted set:有序集合)2、Re.原创 2022-01-30 23:25:29 · 2219 阅读 · 0 评论 -
golang 文件的基本操作
golang中os.File库封装了文件相关操作,File是一个结构体。go语言标准库文档:https://studygolang.com/static/pkgdoc/pkg/os.htm#File具体的使用:1、打开文件1)os.Open//Open打开一个文件用于读取。//如果操作成功,返回的文件对象的方法可用于读取数据;对应的文件描述符具有O_RDONLY模式。//如果出错,错误底层类型是*PathError。func Open(name string) (file *..原创 2022-01-29 22:25:12 · 1569 阅读 · 0 评论 -
golang new和make的区别
Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。区别为:1、make只能用来分配及初始化类型为slice,map,chan的数据;new可以分配任意类型的数据2、new分配返回的是指针,即类型*T;make返回引用,即T;3、new分配的空间被清零,make分配后,会进行初始化。下面我们具体看一下1. new1)new(T)会为T类型的新项目分配被置零的存储,并且返回它的地址,一个类型为*T的值。用法:func new(Type) *Type2原创 2022-01-28 21:40:42 · 1628 阅读 · 1 评论 -
Golang 基本数据类型与string类型互转
一、基本数据类型转string类型方法一:fmt.Sprintf("%参数", 表达式)1) 官方解释:Sprintf根据format参数生成格式化的字符串并返回该字符串。func Sprintf(format string, a ...interface{}) string2)具体使用方法:① 数字类型转字符串类型var num1 int = 99str := fmt.Sprintf("%d", num1)② 浮点类型转字符串类型var num2 float64 =原创 2022-01-27 16:43:59 · 4671 阅读 · 0 评论 -
go protobuf安装与使用
1. protobuf的安装1)安装地址:https://github.com/protocolbuffers/protobuf右侧有个Releases,点击进入可以看到最新版本,目前是Protocol Buffers v3.19.3可以找到对应的系统下载安装包,我的是win10系统,下载protoc-3.19.3-win64.zip2)下载完毕后解压缩放至任意目录下,将bin目录配置到path环境变量中3)打开命令提示符,输入 protoc, 输出以下帮助内容说明安...原创 2022-01-23 22:45:09 · 2843 阅读 · 0 评论 -
windows下安装RabbitMQ
1)安装Erlang① 下载地址:https://www.erlang.org/downloads② 添加环境变量 ERLANG_HOME③ 修改环境变量Path ,增加 %ERLANG_HOME%\bin;④ cmd 打开命令提示符窗口,输入 erl,安装Erlang成功2)安装rabbitMQ① 下载rabbitMQ下载地址:http://www.rabbitmq.com/download.htmlexe安装地址:http://www.rabb...原创 2022-01-15 20:51:47 · 618 阅读 · 0 评论 -
Beego项目打包部署到Linux服务器
Beego项目打包部署到Linux服务器原创 2022-01-14 16:19:51 · 2944 阅读 · 0 评论