gcache

package
v1.6.7 Latest Latest
Warning

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

Go to latest
Published: May 3, 2019 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package gcache provides high performance and concurrent-safe in-memory cache for process.

缓存模块, 并发安全的单进程高速缓存.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BatchRemove added in v1.5.0

func BatchRemove(keys []interface{})

(使用全局KV缓存对象)批量删除指定键值对

func BatchSet added in v1.5.0

func BatchSet(data map[interface{}]interface{}, expire int)

(使用全局KV缓存对象)批量设置kv缓存键值对,过期时间单位为**毫秒**

func Contains

func Contains(key interface{}) bool

是否存在指定的键名,true表示存在,false表示不存在。

func Data

func Data() map[interface{}]interface{}

返回缓存的所有数据键值对(不包含已过期数据)

func Get

func Get(key interface{}) interface{}

(使用全局KV缓存对象)获取指定键名的值

func GetOrSet

func GetOrSet(key interface{}, value interface{}, expire int) interface{}

当键名存在时返回其键值,否则写入指定的键值

func GetOrSetFunc

func GetOrSetFunc(key interface{}, f func() interface{}, expire int) interface{}

当键名存在时返回其键值,否则写入指定的键值,键值由指定的函数生成

func GetOrSetFuncLock

func GetOrSetFuncLock(key interface{}, f func() interface{}, expire int) interface{}

与GetOrSetFunc不同的是,f是在写锁机制内执行

func KeyStrings

func KeyStrings() []string

获得所有的键名,组成字符串数组返回

func Keys

func Keys() []interface{}

获得所有的键名,组成数组返回

func Remove

func Remove(key interface{}) interface{}

(使用全局KV缓存对象)删除指定键值对

func Set

func Set(key interface{}, value interface{}, expire int)

(使用全局KV缓存对象)设置kv缓存键值对,过期时间单位为**毫秒**

func SetIfNotExist

func SetIfNotExist(key interface{}, value interface{}, expire int) bool

当键名不存在时写入,并返回true;否则返回false。 常用来做对并发性要求不高的内存锁。

func Size

func Size() int

获得缓存对象的键值对数量

func Values

func Values() []interface{}

获得所有的值,组成数组返回

Types

type Cache

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

缓存对象。 底层只有一个缓存对象,如果需要提高并发性能,可新增缓存对象无锁哈希表,用键名做固定分区。

func New

func New(lruCap ...int) *Cache

Cache对象按照缓存键名首字母做了分组

func (Cache) BatchRemove added in v1.5.0

func (c Cache) BatchRemove(keys []interface{})

批量删除键值对,并返回被删除的键值对数据

func (Cache) BatchSet added in v1.5.0

func (c Cache) BatchSet(data map[interface{}]interface{}, expire int)

批量设置

func (*Cache) Clear

func (c *Cache) Clear()

清空缓存中的所有数据

func (Cache) Close

func (c Cache) Close()

删除缓存对象

func (Cache) Contains

func (c Cache) Contains(key interface{}) bool

是否存在指定的键名,true表示存在,false表示不存在。

func (Cache) Data

func (c Cache) Data() map[interface{}]interface{}

返回缓存的所有数据键值对(不包含已过期数据)

func (Cache) Get

func (c Cache) Get(key interface{}) interface{}

获取指定键名的值

func (Cache) GetOrSet

func (c Cache) GetOrSet(key interface{}, value interface{}, expire int) interface{}

当键名存在时返回其键值,否则写入指定的键值

func (Cache) GetOrSetFunc

func (c Cache) GetOrSetFunc(key interface{}, f func() interface{}, expire int) interface{}

当键名存在时返回其键值,否则写入指定的键值,键值由指定的函数生成

func (Cache) GetOrSetFuncLock

func (c Cache) GetOrSetFuncLock(key interface{}, f func() interface{}, expire int) interface{}

与GetOrSetFunc不同的是,f是在写锁机制内执行

func (Cache) KeyStrings

func (c Cache) KeyStrings() []string

获得所有的键名,组成字符串数组返回

func (Cache) Keys

func (c Cache) Keys() []interface{}

获得所有的键名,组成数组返回

func (Cache) Remove

func (c Cache) Remove(key interface{}) (value interface{})

删除指定键值对,并返回被删除的键值

func (Cache) Set

func (c Cache) Set(key interface{}, value interface{}, expire int)

设置kv缓存键值对,过期时间单位为毫秒,expire<=0表示不过期

func (Cache) SetIfNotExist

func (c Cache) SetIfNotExist(key interface{}, value interface{}, expire int) bool

当键名不存在时写入,并返回true;否则返回false。

func (Cache) Size

func (c Cache) Size() (size int)

获得缓存对象的键值对数量

func (Cache) Values

func (c Cache) Values() []interface{}

获得所有的值,组成数组返回

Jump to

Keyboard shortcuts

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