func GetKeys(collection string) ([]string, error) {
	if err := validateKey(collection); err != nil {
		return nil, err
	}
	return getStorage().GetKeys(collection)
}
GetKeys will return the (json) strings of a collection
package storage
import (
	"fmt"
	"regexp"
	"sync"
)
var (
	currentStorage Storage
	mu             sync.Mutex
)
type Storage interface {
	Write(collection, key string, v interface{}) error
	Read(collection, key string, v interface{}) error
	GetKeys(collection string) ([]string, error)
	Delete(collection, key string) error
}
var keyRegexp = regexp.MustCompile(`^[\w\-,+@]+$`)
func InitStorage(path string) error {
	var err error
	if path == "" {
		currentStorage = newMemoryStorage()
	} else {
		currentStorage, err = newFileStorage(path)
	}
	return err
}
func SetStorage(storage Storage) {
	currentStorage = storage
}
func Write(collection string, key string, v interface{}) error {
	if err := validateKey(collection, key); err != nil {
		return err
	}
	return getStorage().Write(collection, key, v)
}
func Read(collection string, key string, v interface{}) error {
	if err := validateKey(collection, key); err != nil {
		return err
	}
	return getStorage().Read(collection, key, v)
}