engine

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 15, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bolt

type Bolt struct {
	// contains filtered or unexported fields
}

Bolt хранят все данные в одном бакете (const calBucket). По ключу /<y>/<m> хранится JSON, описывающий все дни месяца. Оба ключа - числовые.

Есть два паттерна использования данного сервиса: клиенты могут обращаться через REST API всякий раз, когда нужна информация о дне/неделе, либо запросить, например, год и закешировать у себя. Первое подходит, например, для вывода какого-нибудь UI календаря, последнее — для обработки большого количества данных.

Хранение каждого года в отдельном ключе неудобно с т. з. отладки и не имеет преимуществ по производительности для случая обработки большого кол-ва данных. Хранение каждого дня в отдельном ключе негативно скажется на длительности обработки запросов к месяцу. Хранение каждого месяца в отдельном ключе пока что выглядит самым удачным решением.

func NewBolt

func NewBolt(file string) (*Bolt, error)

func (*Bolt) Backup

func (b *Bolt) Backup(w io.Writer) error

func (*Bolt) Close

func (b *Bolt) Close() error

func (*Bolt) FindDay

func (b *Bolt) FindDay(y int, mon time.Month, d int) (*store.Day, bool)

func (*Bolt) FindMonth

func (b *Bolt) FindMonth(y int, mon time.Month) (d store.Days, ok bool)

func (*Bolt) FindYear

func (b *Bolt) FindYear(y int) (m store.Months, ok bool)

func (*Bolt) PutYear

func (b *Bolt) PutYear(y int, data store.Months) error

type Memory

type Memory struct {
	// contains filtered or unexported fields
}

func NewMemory

func NewMemory() *Memory

func (*Memory) Close

func (m *Memory) Close() error

func (*Memory) FindDay

func (m *Memory) FindDay(y int, mon time.Month, d int) (*store.Day, bool)

func (*Memory) FindMonth

func (m *Memory) FindMonth(y int, mon time.Month) (store.Days, bool)

func (*Memory) FindYear

func (m *Memory) FindYear(y int) (store.Months, bool)

func (*Memory) PutYear

func (m *Memory) PutYear(y int, data store.Months) error

Jump to

Keyboard shortcuts

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