caddy

example.com { reverse_proxy backend1:3000 backend2:3000 { lbpolicy roundrobin } } kline.example.me { encode gzip reverse_proxy localhost:8080 { #反代对应的websocket网站 header_up X-Forwarded-Host {host} headerup X-Real-IP {remotehost} headerup Host {upstreamhostport} #header_up Host {host} } tls...

8/17/2025
gorm sqlite

loc, err := time.LoadLocation("Asia/Shanghai") if err != nil { log.Fatal(err) } db, err := gorm.Open(sqlite.Open("klines.db"), &gorm.Config{ NowFunc: func() time.Time { return time.Now().In(loc) }, Logger: logger.Default.LogMode(logger.Silent), }) if err != nil { log.Fatal(err) } // 显式设置WAL模式...

8/16/2025
telegram

1387109317 BlockBeats 2228287589 PUMP推特检索Alert-猎人 1796203774 AKILE | 慈善云 | 仙气开放 1735415137 比推BitpushNews 2143979561 小赌养妻活儿 大赌创业兴家 Chat 1387109317 BlockBeats

8/13/2025
并发拉取k线数据,并同步到数据库

package main import ( "encoding/json" "fmt" "log" "net/http" "strconv" "time" "golang.org/x/sync/errgroup" "gorm.io/driver/sqlite" "gorm.io/gorm" ) // ================= 数据模型 ================= type Kline struct { ID uint gorm:"primaryKey" Symbol string gorm:"index:idxsymbolopen_time" OpenTime int64...

8/12/2025
Sdd

FCMqfEX93FXEJaLcvuQjMHWZaMtDexSNmkMcUN8XBAGS

8/10/2025
mongodb
Mongodb时间序列创建

以下是 MongoDB 8.0 中创建时间序列集合(Time Series Collection)的完整语法,包含 ​​30天自动过期(TTL)​​ 和 ​​ZSTD压缩​​ 的配置: // 创建时间序列集合(K线数据示例) db.createCollection("kline_1min", { timeseries: { timeField: "timestamp", // 必填:时间字段 metaField: "symbol", // 必填:股票代码等元数据字段 granularity: "minutes", // 可选:分钟级分桶(优化存储) bucketMaxSpanSeconds:...

8/8/2025
echo框架获取真实的ip

func simpleExtractIP(req *http.Request) string { if cfIP := req.Header.Get("Cf-Connecting-Ip"); cfIP != "" { return cfIP } ip, , := net.SplitHostPort(req.RemoteAddr) return ip }

8/8/2025
gorm连接配置

var err error dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=ascii&parseTime=True&loc=Asia%%2FShanghai", os.Getenv("MYSQL_USER"), os.Getenv("MYSQL_PASSWD"), os.Getenv("MYSQL_HOST"), os.Getenv("MYSQL_DB"), ) // 初始化 GORM 连接 db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ //...

8/8/2025
mongodb
批量更新mongodb

db.trains.find({}).forEach(function (x) { let reward = parseInt(x.reward, 10); db.trains.updateOne({ id: x.id }, { "$set": { "reward": reward } }); }); db.myCollection.updateMany( {}, // 选择所有文档 [ { $set: { myField: { $toLong: "$dateField" } // 将 dateField 转换为毫秒级时间戳 } } ] )

8/8/2025
PreviousPage 2 of 2