V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  flycloud  ›  全部回复第 1 页 / 共 2 页
回复总数  35
1  2  
@JamesChen #29 谢谢,看了文档,确实啊。如果 redis.call 命令有错误会直接抛出异常了,如果执行成功,返回值一定是 True
@enan01 #10 没有这个问题,因为只会在主节点写 redis
@draymonder #13

第一个问题确实存在。
因为本来就会大量用到 redis,所以并没有增加依赖。
不急,再等等。

以上消息发自 MacBook Pro (Retina, 13-inch, Late 2013)
@lysS 没懂你的意思。

我们业务目前没有使用 mysql,不想因为一个 id 生成新增加一个组件。

“不考虑持久化,直接 uint64 自增” 这个分布式环境你咋个自增
@Ariver 集群或者单实例都支持呀,反正只用到了一个 key 。主要是可以规避时间回调问题。
@zhaokun 有道理
@GM 我们业务没有用 mysql,🤣
38 天前
回复了 flycloud 创建的主题 程序员 oauth2 流程疑问
@Saxton #13 嗯嗯,那就是如果不需要从微信获取用户信息的话,只用维护自己的 token 就行了。自己的 token 过期了,就再走一遍授权流程重新登录嘛?
38 天前
回复了 flycloud 创建的主题 程序员 oauth2 流程疑问
@Saxton #10 哦哦哦,后端通过 code 交换出 openid 和 access_token 后,再自己生成一个 token 给前端用,同时存储 token 、openid 、access_token,后续如果需要 refresh token,也是由后端来完成的。这样对吧?
38 天前
回复了 flycloud 创建的主题 程序员 oauth2 流程疑问
@Saxton #8 这下清晰了,谢谢。之前在微信平台看到这段话,感觉有点懵逼:

“access_token 为用户授权第三方应用发起接口调用的凭证(相当于用户登录态),存储在客户端,可能出现恶意获取 access_token 后导致的用户数据泄漏、用户微信相关接口功能被恶意发起等行为”
38 天前
回复了 flycloud 创建的主题 程序员 oauth2 流程疑问
@Saxton 还有个疑问是 token 和 openid 是不是要告诉前端才行,后续请求都会带上 token,token 也存储在自己的后端进行验证,是这样做的吗?
38 天前
回复了 flycloud 创建的主题 程序员 oauth2 流程疑问
@Saxton #4 明白啦,感谢
38 天前
回复了 flycloud 创建的主题 程序员 oauth2 流程疑问
@Saxton 意思就是在开放平台填的 redirect_uri 可以不是后端的地址,直接把 code 给前端,然后前端主动从自己的后端获取 token,而不是通过重定向?
38 天前
回复了 flycloud 创建的主题 程序员 oauth2 流程疑问
@keller 没太明白,如果是 app 应用呢?在开放平台确认授权后,code 返回到 app,然后由 app 向自己的后端发请求获取 token ?
44 天前
回复了 flycloud 创建的主题 Go 编程语言 golang 内存回收的疑问
破案了,开了 pprof,可以看到各项内存占用情况。剩下的那 70MB 是垃圾回收标记元信息使用的内存:GCSys 。

/doge

data gc 前:
```
heap profile: 286: 599785472 [286: 599785472] @ heap/1048576
286: 599785472 [286: 599785472] @ 0x696898 0x43bdf6 0x4726e1
# 0x696897 main.main+0xf7 /data/gowork/src/test/test.go:21
# 0x43bdf5 runtime.main+0x255 /usr/local/go/src/runtime/proc.go:225


# runtime.MemStats
# Alloc = 2147822008
# TotalAlloc = 2148011064
# Sys = 2291062280
# Lookups = 0
# Mallocs = 2741
# Frees = 671
# HeapAlloc = 2147822008
# HeapSys = 2214199296
# HeapIdle = 65634304
# HeapInuse = 2148564992
# HeapReleased = 65150976
# HeapObjects = 2070
# Stack = 393216 / 393216
# MSpan = 176528 / 180224
# MCache = 4800 / 16384
# BuckHashSys = 1444089
# GCSys = 73675560
# OtherSys = 1153511
# NextGC = 2403760736
# LastGC = 1631066553972785432
```

data gc 后:
```
heap profile: 0: 0 [1007: 2111832064] @ heap/1048576
0: 0 [1007: 2111832064] @ 0x696898 0x43bdf6 0x4726e1
# 0x696897 main.main+0xf7 /data/gowork/src/test/test.go:21
# 0x43bdf5 runtime.main+0x255 /usr/local/go/src/runtime/proc.go:225


# runtime.MemStats
# Alloc = 211840
# TotalAlloc = 2148063184
# Sys = 2291062280
# Lookups = 0
# Mallocs = 2895
# Frees = 2059
# HeapAlloc = 211840
# HeapSys = 2214133760
# HeapIdle = 2213347328
# HeapInuse = 786432
# HeapReleased = 2213289984
# HeapObjects = 836
# Stack = 458752 / 458752
# MSpan = 45288 / 180224
# MCache = 4800 / 16384
# BuckHashSys = 1444089
# GCSys = 73694016
# OtherSys = 1135055
# NextGC = 4194304
# LastGC = 1631066839647887815
```

各项指标含义:
```
Alloc uint64 //golang 语言框架堆空间分配的字节数
TotalAlloc uint64 //从服务开始运行至今分配器为分配的堆空间总 和,只有增加,释放的时候不减少
Sys uint64 //总共从 OS 申请的字节数,它是虚拟内存空间,不一定全部映射成了物理内存
Lookups uint64 //被 runtime 监视的指针数
Mallocs uint64 //服务 malloc heap objects 的次数
Frees uint64 //服务回收的 heap objects 的次数
HeapAlloc uint64 //服务分配的堆内存字节数
HeapSys uint64 //系统分配的作为运行栈的内存
HeapIdle uint64 //申请但是未分配的堆内存或者回收了的堆内存(空闲)字节数
HeapInuse uint64 //正在使用的堆内存字节数
HeapReleased uint64 //返回给 OS 的堆内存,类似 C/C++中的 free 。
HeapObjects uint64 //堆内存块申请的量
GCSys uint64 //垃圾回收标记元信息使用的内存
OtherSys uint64 //golang 系统架构占用的额外空间
NextGC uint64 //垃圾回收器检视的内存大小
LastGC uint64 // 垃圾回收器最后一次执行时间。
````
45 天前
回复了 flycloud 创建的主题 Go 编程语言 golang 内存回收的疑问
@darrh00 感谢指正
45 天前
回复了 flycloud 创建的主题 Go 编程语言 golang 内存回收的疑问
@ksco

centos 下表现一样,过几分钟后 GC,瞬间降低到 70MB 。
mac 下过几分钟后开始内存慢慢下降。
45 天前
回复了 flycloud 创建的主题 Go 编程语言 golang 内存回收的疑问
@ksco 看你的 go 版本,不同版本内存回收策略不一样。编译时强制使用 madvdontneed 。

GODEBUG=madvdontneed=1 go build
1  2  
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2269 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 13:20 · PVG 21:20 · LAX 06:20 · JFK 09:20
♥ Do have faith in what you're doing.