- 博客(49)
- 收藏
- 关注

原创 note
redis持久化https://my.oschina.net/davehe/blog/174662持久化分两种RDB和AOF,RDB简单来说,就是复制数据,AOF是记录每次写入的命令redis事物https://www.cnblogs.com/kyrin/p/5967620.htmlinnodb原理 https://www.cnblogs.com/shijin...
2018-10-25 20:05:57
191

原创 go核心36讲 11-15
12 | 使用函数的正确姿势 package mainimport "fmt"//只要两个函数的参数列表和结果列表中的元素顺序及其类型是一致的,们就可以说它们是一样的函数,或者说是实现了同一个函数类型的函数。type Printer func(content string) (n int, err error)func printToStd(content string...
2018-10-10 16:33:40
227

原创 交易所学习笔记
power, err := strconv.Atoi(powerS) //字符串转换为整数 pubkey, err := hex.DecodeString(pubkeyS) //把16进制字符串转换为字节数组 /******* 数据库操作batch := ldb.NewBatch()batch.Delete(key)batch.Commit() ...
2018-09-20 14:12:48
246
原创 go mod tidy报错 unknown revision
把里面除了[user]下面的东西都删除,然后git clone一下私有库的代码(https方式),随便公司哪个项目。一般go mod是通过https方式去下载依赖的,也可以通过改成ssh方式,则只要配置了ssh,就不需要输入密码。还有一种方式就是移除本地的ssh秘钥,git pull拉取代码,触发输入账号密码就行。一般是由于修改密码引起的,只需要重新输入密码就行。会让你重新输入用户名密码,按照提示输完就行。然后再执行git clone。
2023-05-06 16:01:53
1022
原创 使用github.com/prometheus/client_golang/prometheus包的注意事项
duplicate metrics collector registration attempted.panic: a previously registered descriptor with the same fully-qualified name as Desc{fqName: "name", help: "", constLabels: {k2="v2"}, variableLabels: []} has different label names or a different help str
2022-11-10 17:40:20
1608
1
原创 ringbuf
和别的buf不同的是,这边可以有commit操作package structsimport ( "errors" "io" "sync")var ( ErrCommitIndex = errors.New("structs.Commit: commit index err"))// RingBuf a cycle byte slicetype RingBuf struct { buf []byte cap int // buf cap c
2021-06-07 16:48:44
181
原创 keylock
type invoiceLock struct { ref int64 mtx sync.Mutex}type invoiceLock struct { ref int64 mtx sync.Mutex}func (ir *invoiceRouter) lock(userID int64) { ir.mtx.Lock() lock, ok := ir.lockMap[userID] if !ok { lock = &invoiceLock{ ref: 1...
2021-06-07 11:29:25
279
原创 记一次go服务内存异常增涨
这几天发现服务的内存一直往上涨,这是监控看到的图标,可以一眼看出最后一段线变平了是因为业务方的调用停掉了。遇到这种情况,首先想到的是查看内存分布图,于是调用pprof,拿到内存分布图转存失败重新上传取消正在上传…重新上传取消正在上传…重新上传取消我们的机器是16G的,从监控图表看到内存占用达到了百分之50多,将近10个G,但是pprof那边显示内存占用只有2.58G,而且可以清楚的看到,其中两个G是copy函数生成的,0.5个G是加载字典文件的内存,从图上面看,内存分布完全符合我..
2020-07-24 15:53:24
2815
3
原创 golang kafka sarama 消费者组
之前用kafka,没在网上找到关于sarama消费者组的代码。后来才在源码里面找到例子,现在稍微修改了下代码,记录一下。package mainimport ( "context" "github.com/Shopify/sarama" log "github.com/sirupsen/logrus" "os" "os/signal" "sync" "syscall" ...
2019-12-19 10:11:21
10487
10
转载 close_wait
https://segmentfault.com/a/1190000014652451http://www.04007.cn/article/602.htmlhttps://www.04007.cn/article/569.htmlhttps://www.cnblogs.com/dukuan/p/8178728.html
2019-05-23 14:42:54
204
转载 http长连接和短链接
https://www.cnblogs.com/0201zcr/p/4694945.htmlhttps://www.cnblogs.com/cswuyg/p/3653263.html
2019-05-22 19:53:27
194
转载 连接异常增长的一些参考资料
close_waithttps://www.jianshu.com/p/42918db85f19fd sockethttps://www.cnblogs.com/gqtcgq/p/9070332.htmlhttp://mdba.cn/2015/03/10/tcp-socket文件句柄泄漏/https://blog.youkuaiyun.com/lkkey80/article/deta...
2019-05-22 19:41:28
136
原创 go logrus 日志切割过期清理
package mainimport ( "github.com/lestrrat-go/file-rotatelogs" "github.com/pkg/errors" "github.com/rifflock/lfshook" log "github.com/sirupsen/logrus" "path" "time")func ConfigLocalFilesyste...
2019-05-13 09:09:54
5309
2
原创 windows命令行上传文件
scp pika-linux-x86_64-v2.3.6.tar.bz2 wsj@192.168.181.103:/home/wsj
2019-04-30 16:54:08
3545
原创 对字符串键索引DISTINCT的使用
会列出所有不同的手机号(account)SELECT DISTINCT account FROM USER 会列出所有不同的手机号(account)个数SELECT COUNT(DISTINCT account) AS L FROM USE 会列出以手机号前两位做索引,索引的个数SELECT COUNT(DISTINCT LEFT(account,2)) AS L FR...
2019-01-18 14:40:01
516
原创 在当java有多个jar包和多个文件时,如何在控制台编译运行
编译javac -cp .:/root/java/hash2/lib/mysql-connector-java-5.1.35-bin.jar:/root/java/hash2/lib/c3p0-0.9.1.1.jar *.java 运行java -cp .:/root/java/hash2/lib/mysql-connector-java-5.1.35-bin.jar:/ro...
2018-11-05 10:15:53
1610
原创 go核心36讲 16-20
19 | 错误处理(上) type error interface { Error() string} // New returns an error that formats as the given text.func New(text string) error { return &errorString{text}}// errorStr...
2018-10-29 16:58:00
199
转载 go map
https://my.oschina.net/renhc/blog/2208417https://blog.youkuaiyun.com/i6448038/article/details/82057424
2018-10-24 14:00:18
113
原创 mysql
//如果发送过申请 更新请求时间和原因(多次发送或者删除好友之后重新加)const sqlStr = "insert into `friend_request` values(?, ?, ?, ?, ?) on duplicate key update `status` = 0, reason = ?, `time` = ?"...
2018-10-17 13:44:02
98
原创 数据结构面试题
1.如何判断图有环对于无向图,1)深度优先遍历,如果有节点被遍历了两次,就说明有环2)去掉度<=1的节点以及他的指针,如果最后还存在节点,则说明有环对于有向图,1)深度优先遍历,如果有节点被遍历了两次,就说明有环2)拓扑排序...
2018-10-17 09:57:50
954
原创 go leveldb的使用
package mainimport ( "fmt" "github.com/syndtr/goleveldb/leveldb" "log")var db *leveldb.DB//打开数据库func init() { var err error //数据存储路径和一些初始文件 db,err = leveldb.OpenFile("./lev...
2018-10-12 16:31:19
1071
2
原创 tendermint执行流程
首先放两段代码第一段是tendermint abci的代码// +build tradepackage tradeimport ( "dev.33.cn/33/btrade/tradeserver" "github.com/tendermint/abci/types")type TradeApplication struct { state *tradeserver....
2018-10-12 15:21:15
662
原创 linux命令
nl 查看文件内容 显示的时候,顺道输出行号! tail -n 10 test.sh 查看文件最后十行-n :后面接数字,代表显示几行的意思 chmod 777 file其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。r=4,w=2,x=1 ...
2018-10-10 20:13:52
105
原创 go操作redis
package main//www.wsj0819.cn:6379import ( "fmt" "github.com/garyburd/redigo/redis" "log" "time")func main() { //连接redis c,err := redis.Dial("tcp","www.wsj0819.cn:6379") if err != ni
2018-10-09 14:59:36
397
原创 sql和连接池
参考https://www.jianshu.com/p/340eb943be2ehttps://www.jianshu.com/p/50c9fbf4046c 首先是导包import "database/sql"import _ "github.com/go-sql-driver/mysql"_的作用是只执行init函数值得注意的是他内部自己已经实现了连接池db...
2018-10-08 11:08:08
422
原创 go 命令
go buildgo build 命令默认会编译当前目录下的所有go文件。如果某个文件夹下有多个文件,而你只想编译其中某一个文件,可以在 go build 之后加上文件名 -v 打印出那些被编译的代码包的名字。 -o 指定编译输出的文件名 -a 强行对所有涉及到的代码包(...
2018-09-30 15:18:43
190
原创 go语言实现二叉堆
首先是二叉堆的原理参考https://mp.weixin.qq.com/s/IDdhuPO3KRVWHLFmHBLXPg 他文章中的java代码好像有点问题 这边好像不应该-1 接下来是go的实现 增加了判断最小堆的代码package mainimport "fmt"//上浮 最小堆func up(arr []int,childIndex in...
2018-09-25 09:50:22
426
原创 gorilla/mux的学习
package mainimport ( "github.com/gorilla/mux" "net/http" "net/url" "fmt" "time" "io/ioutil" "encoding/json")//var Router *mux.Routerfunc main() { Router := mux.NewRoute
2018-09-21 17:32:36
1334
1
原创 proto命令
生成proto的go文件protoc --go_out ./ msg.proto //注意空格生成grpc格式protoc --go_out=plugins=grpc:. user.proto
2018-09-21 14:32:52
936
原创 go语言实现二叉排序树及其前序遍历
结构 左右指针和存值的一个int (这边其实可以再添加一个指向根节点的指针,那所有节点都可以获得根节点)type AVL struct{ left,right *AVL value int}获取左右节点的指针func (a *AVL)getLeft()(*AVL) { if a.left != nil{ return a.left } return nil}...
2018-09-18 10:13:38
508
原创 go Ring(环形链表)源码解读与应用
首先是环形链表的结构与初初始化type Ring struct { next, prev *Ring Value interface{} // for use by client; untouched by this library}func (r *Ring) init() *Ring { r.next = r r.prev = r return r} ...
2018-09-13 11:26:51
1355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人