Documentation ¶
Overview ¶
Package orm 本地 horm, 他不会访问 server 代理层,而是直接访问数据库
Index ¶
- func ParseResult(node *obj.Tree) (bool, interface{}, error)
- type ORM
- func (o *ORM) Between(key string, start, end interface{}) *ORM
- func (o *ORM) BitCount(key string, start, end int) *ORM
- func (o *ORM) Column(columns ...string) *ORM
- func (o *ORM) Decr(key string) *ORM
- func (o *ORM) Del(key string) *ORM
- func (o *ORM) Delete(where ...horm.Where) *ORM
- func (o *ORM) DeleteBy(key string, value interface{}, kvs ...interface{}) *ORM
- func (o *ORM) Eq(key string, value interface{}, kvs ...interface{}) *ORM
- func (o *ORM) Exec(ctx context.Context, retReceiver ...interface{}) (isNil bool, err error)
- func (o *ORM) Exists(key string) *ORM
- func (o *ORM) Expire(key string, ttl int) *ORM
- func (o *ORM) Find(where ...horm.Where) *ORM
- func (o *ORM) FindAll(where ...horm.Where) *ORM
- func (o *ORM) FindAllBy(key string, value interface{}, kvs ...interface{}) *ORM
- func (o *ORM) FindBy(key string, value interface{}, kvs ...interface{}) *ORM
- func (o *ORM) Get(key string) *ORM
- func (o *ORM) GetBit(key string, offset uint32) *ORM
- func (o *ORM) GetCoder() codec.Codec
- func (o *ORM) GetSet(key string, v interface{}) *ORM
- func (o *ORM) Group(group ...string) *ORM
- func (o *ORM) Gt(key string, value interface{}) *ORM
- func (o *ORM) Gte(key string, value interface{}) *ORM
- func (o *ORM) HDel(key string, field ...interface{}) *ORM
- func (o *ORM) HExists(key string, field interface{}) *ORM
- func (o *ORM) HGet(key string, field interface{}) *ORM
- func (o *ORM) HGetAll(key string) *ORM
- func (o *ORM) HIncrBy(key string, field string, v int) *ORM
- func (o *ORM) HIncrByFloat(key string, field string, v float64) *ORM
- func (o *ORM) HLen(key string) *ORM
- func (o *ORM) HSet(key string, field, v interface{}, args ...interface{}) *ORM
- func (o *ORM) HSetNx(key string, filed interface{}, value interface{}) *ORM
- func (o *ORM) HStrLen(key string, field interface{}) *ORM
- func (o *ORM) HVals(key string) *ORM
- func (o *ORM) Having(having horm.Where) *ORM
- func (o *ORM) HighLight(fields []string, preTag, postTag string) *ORM
- func (o *ORM) Hkeys(key string) *ORM
- func (o *ORM) HmGet(key string, fields ...string) *ORM
- func (o *ORM) HmSet(key string, v interface{}) *ORM
- func (o *ORM) ID(value interface{}) *ORM
- func (o *ORM) Incr(key string) *ORM
- func (o *ORM) IncrBy(key string, n int) *ORM
- func (o *ORM) Insert(data interface{}) *ORM
- func (o *ORM) LLen(key string) *ORM
- func (o *ORM) LPop(key string) *ORM
- func (o *ORM) LPush(key string, v ...interface{}) *ORM
- func (o *ORM) Like(key string, value interface{}) *ORM
- func (o *ORM) Limit(limit int, offset ...uint64) *ORM
- func (o *ORM) Lt(key string, value interface{}) *ORM
- func (o *ORM) Lte(key string, value interface{}) *ORM
- func (o *ORM) MGet(keys ...string) *ORM
- func (o *ORM) MSet(values map[string]interface{}) *ORM
- func (o *ORM) Match(key string, value interface{}) *ORM
- func (o *ORM) MatchPhrase(key string, value interface{}) *ORM
- func (o *ORM) Name(name string) *ORM
- func (o *ORM) Not(key string, value interface{}) *ORM
- func (o *ORM) NotBetween(key string, start, end interface{}) *ORM
- func (o *ORM) NotLike(key string, value interface{}) *ORM
- func (o *ORM) NotMatch(key string, value interface{}) *ORM
- func (o *ORM) NotMatchPhrase(key string, value interface{}) *ORM
- func (o *ORM) Op(op string) *ORM
- func (o *ORM) Order(orders ...string) *ORM
- func (o *ORM) Page(page, pageSize int) *ORM
- func (o *ORM) RPop(key string) *ORM
- func (o *ORM) RPush(key string, v ...interface{}) *ORM
- func (o *ORM) Refresh() *ORM
- func (o *ORM) Replace(data interface{}) *ORM
- func (o *ORM) SAdd(key string, v ...interface{}) *ORM
- func (o *ORM) SCard(key string) *ORM
- func (o *ORM) SIsMember(key string, member interface{}) *ORM
- func (o *ORM) SMembers(key string) *ORM
- func (o *ORM) SMove(source, destination string, member interface{}) *ORM
- func (o *ORM) SPop(key string, count int) *ORM
- func (o *ORM) SRandMember(key string, count int) *ORM
- func (o *ORM) SRem(key string, members ...interface{}) *ORM
- func (o *ORM) Scroll(scroll string, size int, where ...horm.Where) *ORM
- func (o *ORM) ScrollByID(scrollID string) *ORM
- func (o *ORM) Set(key string, value interface{}, args ...interface{}) *ORM
- func (o *ORM) SetBit(key string, offset uint32, value bool) *ORM
- func (o *ORM) SetEX(key string, v interface{}, ttl int) *ORM
- func (o *ORM) SetNX(key string, v interface{}) *ORM
- func (o *ORM) SetParam(key string, value interface{}) *ORM
- func (o *ORM) Shard(shard ...string) *ORM
- func (o *ORM) Source(q string, args ...interface{}) *ORM
- func (o *ORM) TTL(key string) *ORM
- func (o *ORM) Type(typ string) *ORM
- func (o *ORM) Update(data interface{}, where ...horm.Where) *ORM
- func (o *ORM) UpdateKV(key string, value interface{}, kvs ...interface{}) *ORM
- func (o *ORM) Where(where horm.Where) *ORM
- func (o *ORM) WithCoder(coder codec.Codec) *ORM
- func (o *ORM) ZAdd(key string, args ...interface{}) *ORM
- func (o *ORM) ZCard(key string) *ORM
- func (o *ORM) ZCount(key string, min, max interface{}) *ORM
- func (o *ORM) ZIncrBy(key string, member, incr interface{}) *ORM
- func (o *ORM) ZPopMax(key string, count ...int64) *ORM
- func (o *ORM) ZPopMin(key string, count ...int64) *ORM
- func (o *ORM) ZRange(key string, start, stop int, withScore ...bool) *ORM
- func (o *ORM) ZRangeByScore(key string, min, max interface{}, withScores bool, limit ...int64) *ORM
- func (o *ORM) ZRank(key string, member interface{}) *ORM
- func (o *ORM) ZRem(key string, members ...interface{}) *ORM
- func (o *ORM) ZRemRangeByRank(key string, start, stop int) *ORM
- func (o *ORM) ZRemRangeByScore(key string, min, max interface{}) *ORM
- func (o *ORM) ZRevRange(key string, start, stop int, withScore ...bool) *ORM
- func (o *ORM) ZRevRangeByScore(key string, max, min interface{}, withScore bool, limit ...int64) *ORM
- func (o *ORM) ZRevRank(key string, member interface{}) *ORM
- func (o *ORM) ZScore(key string, member interface{}) *ORM
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ORM ¶
type ORM struct {
// contains filtered or unexported fields
}
ORM 统一接入协议 本地 orm 的实现
func (*ORM) BitCount ¶
BitCount 计算给定字符串中,被设置为 1 的比特位的数量 param: key string param: start int 可以使用负数值: 比如 -1 表示最后一个字节, -2 表示倒数第二个字节,以此类推 param: end int 可以使用负数值: 比如 -1 表示最后一个字节, -2 表示倒数第二个字节,以此类推
func (*ORM) Decr ¶
Decr 将 key 中储存的数字值减一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 param: key string
func (*ORM) DeleteBy ¶
DeleteBy find_all where key1=value1 AND key2=value2 ... input must be key, value, key, value, key, value ...
func (*ORM) Eq ¶
Eq equal mean where key1=value1 AND key2=value2 ... input must be key, value, key, value, key, value ...
func (*ORM) Expire ¶
Expire 设置 key 的过期时间,key 过期后将不再可用。单位以秒计。 param: key string param: int ttl 到期时间,ttl秒
func (*ORM) FindAllBy ¶
FindAllBy find_all where key1=value1 AND key2=value2 ... input must be key, value, key, value, key, value ...
func (*ORM) FindBy ¶
FindBy find where key1=value1 AND key2=value2 ... input must be key, value, key, value, key, value ...
func (*ORM) Get ¶
Get 获取指定 key 的值。如果 key 不存在,返回 nil 。可用 IsNil(err) 判断是否key不存在,如果key储存的值不是字符串类型,返回一个错误。 param: key string
func (*ORM) GetBit ¶
GetBit 获取指定偏移量上的位 param: key string param: offset uint32 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)
func (*ORM) GetSet ¶
GetSet 设置给定 key 的值。如果 key 已经存储其他值, GetSet 就覆写旧值,并返回原来的值,如果原来未设置值,则返回报错 nil returned param: key string param: v interface{} 任意类型数据
func (*ORM) HDel ¶
HDel 删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。 param: keyfield interface{},删除指定key的field数据,这里输入的第一参数为key,其他为多个field,至少得有一个field
func (*ORM) HIncrBy ¶
HIncrBy 为哈希表中的字段值加上指定增量值。 param: key string param: field string param: n string 自增数量
func (*ORM) HIncrByFloat ¶
HIncrByFloat 为哈希表中的字段值加上指定增量浮点数。 param: key string param: field string param: v float64 自增数量
func (*ORM) HSet ¶
HSet 为哈希表中的字段赋值 。 param: key string param: field interface{} 其中field建议为字符串,可以为整数,浮点数 param: v interface{} 任意类型数据 param: args ...interface{} 多条数据,按照filed,value 的格式,其中field建议为字符串,可以为整数,浮点数
func (*ORM) HSetNx ¶
HSetNx 为哈希表中不存在的的字段赋值 。 param: key string param: field string param: value interface{}
func (*ORM) HmSet ¶
HmSet 把map数据设置到哈希表中。 param: key string param: v map[string]interface{} 、或者 struct
func (*ORM) Incr ¶
Incr 将 key 中储存的数字值增一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 param: key string
func (*ORM) IncrBy ¶
IncrBy 将 key 中储存的数字加上指定的增量值。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 param: key string param: n string 自增数量
func (*ORM) LLen ¶
LLen 返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误。 param: key string
func (*ORM) LPush ¶
LPush 将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。 param: key string param: v interface{} 任意类型数据
func (*ORM) MSet ¶
MSet 批量设置一个或多个 key-value 对 param: values map[string]interface{} // value will marshal 注意,本接口 Prefix 一定要在 MSet 之前设置,这里所有的 key 都会被加上 Prefix
func (*ORM) MatchPhrase ¶
func (*ORM) NotBetween ¶
func (*ORM) NotMatchPhrase ¶
func (*ORM) RPush ¶
RPush 将一个或多个值插入到列表的尾部(最右边)。如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误。 param: key string param: v interface{} 任意类型数据
func (*ORM) SAdd ¶
SAdd 将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。 param: key string param: v ...interface{} 任意类型的多条数据,但是务必确保各条数据的类型保持一致
func (*ORM) SIsMember ¶
SIsMember 判断成员元素是否是集合的成员。 param: key string param: member interface{} 要检索的任意类型数据
func (*ORM) SMove ¶
SMove 将指定成员 member 元素从 source 集合移动到 destination 集合。 param: source string param: destination string param: member interface{} 要移动的成员,任意类型
func (*ORM) SRandMember ¶
SRandMember 返回集合中的count个随机元素。 param: key string param: count int 随机返回元素个数。 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。 如果 count 大于等于集合基数,那么返回整个集合。 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
func (*ORM) SRem ¶
SRem 移除集合中的一个或多个成员元素,不存在的成员元素会被忽略 param: key string param: v ...interface{} 任意类型的多条数据
func (*ORM) ScrollByID ¶
ScrollByID 根据 scrollID 滚动查询。
func (*ORM) Set ¶
Set 设置给定 key 的值。如果 key 已经存储其他值, Set 就覆写旧值。 param: key string param: value interface{} 任意类型数据 param: args ...interface{} set的其他参数
func (*ORM) SetBit ¶
SetBit 设置或清除指定偏移量上的位 param: key string param: offset uint32 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内) param: value bool true:设置为1,false:设置为0
func (*ORM) SetEX ¶
SetEX 指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。 param: key string param: v interface{} 任意类型数据 param: ttl int 到期时间
func (*ORM) SetNX ¶
SetNX redis.SetNX 指定的 key 不存在时,为 key 设置指定的值。 param: key string param: v interface{} 任意类型数据
func (*ORM) SetParam ¶
SetParam 与数据库特性相关的附加参数,例如 redis 的WITHSCORES,以及 elastic 的 collapse、runtime_mappings、track_total_hits 等等。
func (*ORM) ZAdd ¶
ZAdd redis.ZAdd 将成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素, 来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。 param: key string param: args ...interface{} 添加更多成员,需要按照 member, score, member, score 依次排列 注意:⚠️ 与 redis 命令不一样,需要按照 member, score, member, score, 格式传入
func (*ORM) ZCount ¶
ZCount 计算有序集合中指定分数区间的成员数量 param: key string param: min interface{} param: max interface{}
func (*ORM) ZIncrBy ¶
ZIncrBy 对有序集合中指定成员的分数加上增量 increment,可以通过传递一个负数值 increment , 让分数减去相应的值,比如 ZINCRBY key -5 member , 就是让 member 的 score 值减去 5 。当 key 不存在,或分数不是 key 的成员时, ZINCRBY key increment member 等同于 ZADD key increment member 。当 key 不是有序集类型时,返回一个错误。分数值可以是整数值或双精度浮点数。 param: key string param: member interface{} 任意类型数据 param: incr interface{} 增量值,可以为整数或双精度浮点
func (*ORM) ZPopMax ¶
ZPopMax 移除并弹出有序集合中分值最大的的 count 个元素 redis v5.0.0+ param: key string param: count ...int64 不设置count参数时,弹出一个元素
func (*ORM) ZPopMin ¶
ZPopMin 移除并弹出有序集合中分值最小的 count 个元素 redis v5.0.0+ param: key string param: count ...int64 不设置count参数时,弹出一个元素
func (*ORM) ZRange ¶
ZRange 返回有序集中,指定区间内的成员。其中成员的位置按分数值递增(从小到大)来排序。 param: key string param: int start, stop 以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,你也可以使用负数下标, param: withScore 是否返回有序集的分数, true - 返回,false - 不返回,默认不返回,结果分开在两个数组存储,但是数组下标是一一对应的,比如 member[3] 成员的分数是 score[3] 以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。
func (*ORM) ZRangeByScore ¶
ZRangeByScore 根据分数返回有序集中指定区间的成员,顺序从小到大 param: key string param: int min, max 分数的范围,类型必须为 int, float,但是 -inf +inf 表示负正无穷大 param: withScores 是否返回有序集的分数, true - 返回,false - 不返回,默认不返回,结果分开在两个数组存储,但是数组下标是一一对应的,比如 member[3] 成员的分数是 score[3] param: limit offset count 游标
func (*ORM) ZRank ¶
ZRank 返回有序集中指定成员的排名。其中有序集成员按分数值递增(从小到大)顺序排列。 param: key string param: member interface{} 成员,任意类型
func (*ORM) ZRem ¶
ZRem 移除有序集中的一个或多个成员,不存在的成员将被忽略。 param: key string param: members ...interface{} 任意类型的多条数据
func (*ORM) ZRemRangeByRank ¶
ZRemRangeByRank 移除有序集中,指定排名(rank)区间内的所有成员。 param: key string param: start stop int 排名区间
func (*ORM) ZRemRangeByScore ¶
ZRemRangeByScore 移除有序集中,指定分数(score)区间内的所有成员。 param: key string param: interface{} min max 分数区间,类型为整数或者浮点数
func (*ORM) ZRevRange ¶
ZRevRange 返回有序集中指定区间的成员,其中成员的位置按分数值递减(从大到小)来排列。 param: key string param: start, stop 排名区间,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,你也可以使用负数下标, param: withScore 是否返回有序集的分数, true - 返回,false - 不返回,默认不返回,结果分开在两个数组存储,但是数组下标是一一对应的,比如 member[3] 成员的分数是 score[3] 以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。
func (*ORM) ZRevRangeByScore ¶
func (o *ORM) ZRevRangeByScore(key string, max, min interface{}, withScore bool, limit ...int64) *ORM
ZRevRangeByScore 返回有序集中指定分数区间内的所有的成员。有序集成员按分数值递减(从大到小)的次序排列。 param: key string param: max, min interface{} 分数区间,类型为整数或双精度浮点数,但是 -inf +inf 表示负正无穷大 param: withScore 是否返回有序集的分数, true - 返回,false - 不返回,默认不返回,结果分开在两个数组存储,但是数组下标是一一对应的,比如 member[3] 成员的分数是 score[3] param: limit offset count 游标
Directories ¶
Path | Synopsis |
---|---|
redis/client
Package redis 封装第三方库redigo
|
Package redis 封装第三方库redigo |
Package obj 提供user数据库表在go程序的结构体映射,一般用于model层调用
|
Package obj 提供user数据库表在go程序的结构体映射,一般用于model层调用 |