mirror of
https://github.com/gofiber/storage.git
synced 2025-09-27 12:52:25 +08:00
28 lines
874 B
Go
28 lines
874 B
Go
package storage
|
|
|
|
import "time"
|
|
|
|
// Storage interface for communicating with different database/key-value
|
|
// providers. Visit https://github.com/gofiber/storage for more info.
|
|
type Storage interface {
|
|
// Get gets the value for the given key.
|
|
// `nil, nil` is returned when the key does not exist
|
|
Get(key string) ([]byte, error)
|
|
|
|
// Set stores the given value for the given key along
|
|
// with an expiration value, 0 means no expiration.
|
|
// Empty key or value will be ignored without an error.
|
|
Set(key string, val []byte, exp time.Duration) error
|
|
|
|
// Delete deletes the value for the given key.
|
|
// It returns no error if the storage does not contain the key,
|
|
Delete(key string) error
|
|
|
|
// Reset resets the storage and delete all keys.
|
|
Reset() error
|
|
|
|
// Close closes the storage and will stop any running garbage
|
|
// collectors and open connections.
|
|
Close() error
|
|
}
|