vRp.CD2g_test/utils/memory/memory_test.go

42 lines
902 B
Go

package memory_test
import (
"fmt"
"github.com/kercylan98/minotaur/utils/memory"
"github.com/kercylan98/minotaur/utils/timer"
"github.com/kercylan98/minotaur/utils/times"
"testing"
"time"
)
type Player struct {
ID int64
Name string
Account string
Password string
}
var (
QueryPlayer = memory.BindAction("QueryPlayer", func(playerId int64) *Player {
return &Player{ID: playerId}
})
QueryPlayerPersist = memory.BindPersistCacheProgram("QueryPlayer", func(player *Player) {
fmt.Println(player)
}, memory.NewOption().WithPeriodicity(timer.GetTicker(10), timer.Instantly, time.Second*10, time.Second))
)
func TestBindAction(t *testing.T) {
var player *Player
player = QueryPlayer(1)
fmt.Println(player.ID)
player.ID = 666
player = QueryPlayer(1)
fmt.Println(player.ID)
player = QueryPlayer(2)
fmt.Println(player.ID)
QueryPlayerPersist()
time.Sleep(times.Week)
}