cache_key_builder

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildKeyFunc

func BuildKeyFunc[T any](builder KeyBuilder[T]) func(*T) string

BuildKeyFunc 将 KeyBuilder 转换为函数

func QuickBuildKey

func QuickBuildKey[T any](template string, data *T) string

QuickBuildKey 快速构建键的辅助函数 用于一次性构建,不需要保存 builder 实例

Types

type FuncKeyBuilder

type FuncKeyBuilder[T any] struct {
	// contains filtered or unexported fields
}

FuncKeyBuilder 基于自定义函数的键构建器

func NewFuncKeyBuilder

func NewFuncKeyBuilder[T any](buildFunc func(*T) string) *FuncKeyBuilder[T]

NewFuncKeyBuilder 创建函数式键构建器

func (*FuncKeyBuilder[T]) BuildKey

func (kb *FuncKeyBuilder[T]) BuildKey(data *T) string

BuildKey 实现 KeyBuilder 接口

type KeyBuilder

type KeyBuilder[T any] interface {
	// BuildKey 根据数据生成缓存键
	BuildKey(data *T) string
}

KeyBuilder 缓存键构建器接口 开发者可以实现此接口来自定义键生成逻辑

func DefaultKeyBuilder

func DefaultKeyBuilder[T any](template string) KeyBuilder[T]

DefaultKeyBuilder 创建默认的键构建器(基于模板)

type PrefixKeyBuilder

type PrefixKeyBuilder[T any] struct {
	// contains filtered or unexported fields
}

PrefixKeyBuilder 前缀键构建器 简单在 ID 前加前缀: "prefix:123"

func NewPrefixKeyBuilder

func NewPrefixKeyBuilder[T any](prefix string, idExtractor func(*T) interface{}) *PrefixKeyBuilder[T]

NewPrefixKeyBuilder 创建前缀键构建器

func (*PrefixKeyBuilder[T]) BuildKey

func (kb *PrefixKeyBuilder[T]) BuildKey(data *T) string

BuildKey 实现 KeyBuilder 接口

type TemplateKeyBuilder

type TemplateKeyBuilder[T any] struct {
	// contains filtered or unexported fields
}

TemplateKeyBuilder 基于模板的键构建器 支持模板语法: "cache:user:{id}" 或 "cache:product:{id}:{category}"

func NewTemplateKeyBuilder

func NewTemplateKeyBuilder[T any](template string) *TemplateKeyBuilder[T]

NewTemplateKeyBuilder 创建模板键构建器 示例模板:

  • "cache:user:{id}"
  • "cache:product:{id}:{category}"
  • "session:{user_id}:{device_id}"

func (*TemplateKeyBuilder[T]) BuildKey

func (kb *TemplateKeyBuilder[T]) BuildKey(data *T) string

BuildKey 实现 KeyBuilder 接口

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL