google網(wǎng)站怎么做流量app推廣項目從哪接一手
使用方法
err := bp.data.redis.Get(ctx, policyKey).Scan(&result)
起初在 redis
5.x.x
版本并沒有遇到錯誤,但是在切換 redis
實例之后就出現(xiàn)了錯誤(他們之間只是版本不同)。
修復(fù)方法
看錯誤日志的描述,大概含義就是需要我們自己手動實現(xiàn)一個 json 的序列化。
類似下面這樣,即可修復(fù)。
type MyStruct struct{}
func (m *MyStruct) MarshalBinary() ([]byte, error) {return json.Marshal(m)
}
相關(guān)參考: https://stackoverflow.com/questions/60925203/cant-marshal-implement-encoding-binarymarshaler-go-redis-sdd-with-multiple
文中描述了數(shù)組的實現(xiàn)方式,就是需要自己封裝一下數(shù)組類似 type MyStructArray []MyStruct
然后 func (m *MyStructArray) MarshalBinary()
即可。