memory
Types
get函数专有错误类型
pub type CallErr {
CallClosed
CallPanic
}
Constructors
-
CallClosed缓存已关闭
-
CallPanic函数panic
其余函数使用的错误类型
pub type Closed {
Closed
}
Constructors
-
Closed缓存已关闭
Values
pub fn from_list(
memory: Memory(key, val),
list: List(#(key, val)),
) -> Result(Nil, Closed)
从列表创建新的LRU以替代现有的,若列表为空则不作操作
LRU大小等于列表大小
重复key取第一次的val
Return
进程存活返回 Ok
进程死亡返回 Error
pub fn get(
memory: Memory(key, val),
key: key,
) -> Result(val, CallErr)
获取结果
Return
进程存活: Ok
进程死亡: Error(CallClosed)
函数panic:Error(CallPanic)
pub fn get_list(
memory: Memory(key, val),
) -> Result(List(#(key, val)), Closed)
获取缓存结果的键值对列表
按访问时间从最久访问到最近访问排序
Return
进程存活返回 Ok
进程死亡返回 Error
pub fn hit_rate(
memory: Memory(key, val),
) -> Result(Float, Closed)
缓存命中率
返回百分比数字,保留两位小数
Return
进程存活返回 Ok
进程死亡返回 Error
pub fn new(
func func: fn(key) -> val,
lru_max lru_max: Int,
) -> Result(
#(fn(key) -> Result(val, CallErr), Memory(key, val)),
actor.StartError,
)
启动缓存
Parameter
func:需要转换的函数
lru_max:LRU的大小,小于1则设置为1
pub fn set_max(
memory: Memory(key, val),
max: Int,
) -> Result(Nil, Closed)
设置缓存大小
小于1则设置为1
Return
进程存活返回 Ok
进程死亡返回 Error