Skip to content

matsuby/gomemcacheex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gomemcacheex

Go Reference

About

gomemcacheex povides wrapper for Go memcached client (bradfitz/gomemcache) that name ClientWrapper.

ClientWrapper can register callback functions for each methods(Get, Set, Delete, etc) similar to GORM.

Installing

go get github.com/matsuby/gomemcacheex

Usage

package main

import (
	"fmt"

	"github.com/bradfitz/gomemcache/memcache"
	"github.com/matsuby/gomemcacheex/memcacheex"
)

func main() {
	// create wrapper for memcached client
	cw := memcacheex.NewClientWrapper(memcache.New("localhost:11211"))

	// register callback functions
	cw.Callback().Set().Before().Register("gomemcacheex:set-before", func(args, results []any) {
		fmt.Println("--- Set: Before")
		fmt.Println(args...)
	})
	cw.Callback().Get().After().Register("gomemcacheex:get-after", func(args, results []any) {
		fmt.Println("--- Get: After")
		fmt.Println(args...)
		fmt.Println(results...)
	})

	// call methods, then invoke registered callback functions
	_ = cw.Set(&memcache.Item{Key: "test_key", Value: []byte("test_value")})
	_, _ = cw.Get("test_key")
}

Bonus

gomemcacheex provodes interface and mock for memcached client. These may help you with your unit tests.

About

Go memcached client wrapper and unit tests support.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages