// Package easymap ... // // Description : easymap ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2023-12-14 15:51 package easymap import "git.zhangdeman.cn/zhangdeman/util" // GetShardAndKeyFunc 获取数据所处分片以及key // // Author : go_developer@163.com<白茶清欢> // // Date : 15:55 2023/12/14 type GetShardAndKeyFunc func(interface{}) (int, interface{}) // DefaultGetShardAndKeyFunc 默认实现 // // Author : go_developer@163.com<白茶清欢> // // Date : 15:57 2023/12/14 func DefaultGetShardAndKeyFunc(key interface{}) GetShardAndKeyFunc { return func(key interface{}) (int, interface{}) { return -1, key } } // GetShardAndKeyFuncWithShardCount 获取数据分片和key // // Author : go_developer@163.com<白茶清欢> // // Date : 15:59 2023/12/14 func GetShardAndKeyFuncWithShardCount(shardCnt int, key interface{}) GetShardAndKeyFunc { return func(key interface{}) (int, interface{}) { return util.Hash.GetHashIDMod(key, shardCnt), key } } // common 公共基础结构 // // Author : go_developer@163.com<白茶清欢> // // Date : 15:52 2023/12/14 type common struct { data map[interface{}]interface{} // 输入数据 GetShardAndKeyFunc GetShardAndKeyFunc // 获取分片以及key的函数 }