gpt4 book ai didi

go - 使用golang在redis中存储单次使用记录的最佳方法

转载 作者:可可西里 更新时间:2023-11-01 11:13:01 27 4
gpt4 key购买 nike

我正在使用 golang 和 go-redis 包我想在 redis 中存储一对键值对(例如一次性 token )。读取此 token 时,我会生成一个永久 token 。但是一旦我读取了值,就应该删除一次性 token 。这是为了避免快速重放攻击。实现这个的最佳方法是什么。我一直在想互斥量。

最佳答案

这是MULTI-EXEC 功能的完美用例:

MULTI
GET key
DELETE key
EXEC

或者在进行中:

pipe := client.TxPipeline()

get := pipe.Get("key")
pipe.Del("key")

_, err := pipe.Exec()
fmt.Println(get.Val(), err)

这将确保两个命令都在一个事务中执行,因此 key 要么被检索并删除,要么根本不检索。

关于go - 使用golang在redis中存储单次使用记录的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44656095/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com