DataCache and changes for game update
Recent game update changed pokememes view in pokedeks, so we need to reflect it by updating parser. Introducing DataCache - a silver bullet for eliminating lags linked to database queries. Less queries, more in RAM, faster work. Needs testing in production environment.
This commit is contained in:
34
lib/datacache/datacacheinterface/datacacheinterface.go
Normal file
34
lib/datacache/datacacheinterface/datacacheinterface.go
Normal file
@@ -0,0 +1,34 @@
|
||||
// i2_bot – Instinct PokememBro Bot
|
||||
// Copyright (c) 2018 Vladimir "fat0troll" Hodakov
|
||||
|
||||
package datacacheinterface
|
||||
|
||||
import (
|
||||
"git.wtfteam.pro/fat0troll/i2_bot/lib/dbmapping"
|
||||
)
|
||||
|
||||
// DataCacheInterface implements DataCache for importing via appcontext.
|
||||
type DataCacheInterface interface {
|
||||
Init()
|
||||
|
||||
AddPlayer(player *dbmapping.Player) (int, error)
|
||||
GetOrCreatePlayerByTelegramID(telegramID int) (*dbmapping.Player, error)
|
||||
GetPlayerByID(playerID int) (*dbmapping.Player, error)
|
||||
GetPlayerByTelegramID(telegramID int) (*dbmapping.Player, error)
|
||||
UpdatePlayerFields(player *dbmapping.Player) (*dbmapping.Player, error)
|
||||
UpdatePlayerTimestamp(playerID int) error
|
||||
|
||||
AddProfile(profile *dbmapping.Profile) (int, error)
|
||||
GetPlayersWithCurrentProfiles() map[int]*dbmapping.PlayerProfile
|
||||
GetProfileByID(profileID int) (*dbmapping.Profile, error)
|
||||
GetProfileByPlayerID(playerID int) (*dbmapping.Profile, error)
|
||||
|
||||
AddPokememe(pokememeData map[string]string, pokememeLocations map[string]string, pokememeElements map[string]string) (int, error)
|
||||
GetAllPokememes() map[int]*dbmapping.PokememeFull
|
||||
GetPokememeByID(pokememeID int) (*dbmapping.PokememeFull, error)
|
||||
GetPokememeByName(name string) (*dbmapping.PokememeFull, error)
|
||||
DeletePokememeByID(pokememeID int) error
|
||||
|
||||
GetLeagueBySymbol(symbol string) (*dbmapping.League, error)
|
||||
GetWeaponTypeByName(name string) (*dbmapping.Weapon, error)
|
||||
}
|
Reference in New Issue
Block a user