1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-phalgo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
free.go 963 Байты
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
喵了个咪 Отправлено 27.05.2016 13:13 5bda4c2
// PhalGo-Free
// 进程级别缓存数据Free,使用gob转意存储
// 喵了个咪 <wenzhenxi@vip.qq.com> 2016/5/11
// 依赖情况:
// "github.com/coocood/freecache"
package phalgo
import (
"github.com/coocood/freecache"
"encoding/gob"
"bytes"
)
//缺点:
// 1.当需要缓存的数据占用超过提前分配缓存的 1024/1 则不能缓存
// 2.当分配内存过多则会导致内存占用高 最好不要超过100MB的内存分配
var Free *freecache.Cache
// 初始化Free进程缓存
func NewFree() {
cacheSize := 100 * 1024 * 1024
Free = freecache.NewCache(cacheSize)
}
// Gob加密
func GobEncode(data interface{}) ([]byte, error) {
buf := bytes.NewBuffer(nil)
enc := gob.NewEncoder(buf)
err := enc.Encode(data)
if err != nil {
return nil, err
}
return buf.Bytes(), nil
}
// Gob解密
func GobDecode(data []byte, to interface{}) error {
buf := bytes.NewBuffer(data)
dec := gob.NewDecoder(buf)
return dec.Decode(to)
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-phalgo.git
git@api.gitlife.ru:oschina-mirror/mirrors-phalgo.git
oschina-mirror
mirrors-phalgo
mirrors-phalgo
master