func (kv *SafeRkv) Get(key string, value interface{}) error {
	kv.mu.Lock()
	defer kv.mu.Unlock()
	return kv.Rkv.Get(key, value)
}
Get same as Rkv function but goroutine friendly.
package rkv
import (
	"io"
	"sync"
)
type SafeRkv struct {
	Rkv
	mu sync.Mutex
}
var _ Interface = (*SafeRkv)(nil)
func NewSafe(filename string) (*SafeRkv, error) {
	kv, err := New(filename)
	return &SafeRkv{Rkv: *kv}, err
}
func (kv *SafeRkv) Compact() error {
	kv.mu.Lock()
	defer kv.mu.Unlock()
	return kv.Rkv.Compact()
}
func (kv *SafeRkv) Put(key string, value interface{}) error {
	kv.mu.Lock()
	defer kv.mu.Unlock()
	return kv.Rkv.Put(key, value)
}
func (kv *SafeRkv) PutForDays(key string, value interface{}, days int32) error {
	kv.mu.Lock()
	defer kv.mu.Unlock()
	return kv.Rkv.PutForDays(key, value, days)
}
func (kv *SafeRkv) Exist(key string) bool {
	kv.mu.Lock()
	defer kv.mu.Unlock()
	return kv.Rkv.Exist(key)
}