28 lines
696 B
Go
28 lines
696 B
Go
// Package util provide some utility fun
|
|
package util
|
|
|
|
import (
|
|
"sort"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
// ConvertZSetMembersToFloat64 define func to conver zset member type to float64
|
|
func ConvertZSetMembersToFloat64(members []redis.Z) []float64 {
|
|
dataFloats := make([]float64, 0, len(members))
|
|
// recovery time sorted in ascending order
|
|
sortRedisZByTimeMemberAscending(members)
|
|
for _, member := range members {
|
|
dataFloats = append(dataFloats, member.Score)
|
|
}
|
|
return dataFloats
|
|
}
|
|
|
|
func sortRedisZByTimeMemberAscending(data []redis.Z) {
|
|
sort.Slice(data, func(i, j int) bool {
|
|
memberI := data[i].Member.(string)
|
|
memberJ := data[j].Member.(string)
|
|
return memberI < memberJ
|
|
})
|
|
}
|