123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package testdata
- import (
- "context"
- "fmt"
- "time"
- "go-common/library/cache/memcache"
- "go-common/library/container/pool"
- xtime "go-common/library/time"
- )
- // Dao .
- type Dao struct {
- mc *memcache.Pool
- articleExpire int32
- }
- // New new dao
- func New() (d *Dao) {
- cfg := &memcache.Config{
- Config: &pool.Config{
- Active: 10,
- Idle: 5,
- IdleTimeout: xtime.Duration(time.Second),
- },
- Name: "test",
- Proto: "tcp",
- // Addr: "172.16.33.54:11214",
- Addr: "127.0.0.1:11211",
- DialTimeout: xtime.Duration(time.Second),
- ReadTimeout: xtime.Duration(time.Second),
- WriteTimeout: xtime.Duration(time.Second),
- }
- d = &Dao{
- mc: memcache.NewPool(cfg),
- articleExpire: int32(5),
- }
- return
- }
- //go:generate $GOPATH/src/go-common/app/tool/cache/mc
- type _mc interface {
- // mc: -key=articleKey
- CacheArticles(c context.Context, keys []int64) (map[int64]*Article, error)
- // mc: -key=articleKey
- CacheArticle(c context.Context, key int64) (*Article, error)
- // mc: -key=keyMid
- CacheArticle1(c context.Context, key int64, mid int64) (*Article, error)
- // mc: -key=noneKey
- CacheNone(c context.Context) (*Article, error)
- // mc: -key=articleKey
- CacheString(c context.Context, key int64) (string, error)
- // mc: -key=articleKey -expire=d.articleExpire -encode=json
- AddCacheArticles(c context.Context, values map[int64]*Article) error
- // 这里也支持自定义注释 会替换默认的注释
- // mc: -key=articleKey -expire=d.articleExpire -encode=json|gzip
- AddCacheArticle(c context.Context, key int64, value *Article) error
- // mc: -key=keyMid -expire=d.articleExpire -encode=gob
- AddCacheArticle1(c context.Context, key int64, value *Article, mid int64) error
- // mc: -key=noneKey
- AddCacheNone(c context.Context, value *Article) error
- // mc: -key=articleKey -expire=d.articleExpire
- AddCacheString(c context.Context, key int64, value string) error
- // mc: -key=articleKey
- DelCacheArticles(c context.Context, keys []int64) error
- // mc: -key=articleKey
- DelCacheArticle(c context.Context, key int64) error
- // mc: -key=keyMid
- DelCacheArticle1(c context.Context, key int64, mid int64) error
- // mc: -key=noneKey
- DelCacheNone(c context.Context) error
- }
- func articleKey(id int64) string {
- return fmt.Sprintf("art_%d", id)
- }
- func keyMid(id, mid int64) string {
- return fmt.Sprintf("art_%d_%d", id, mid)
- }
- func noneKey() string {
- return "none"
- }
|