代码拉取完成,页面将自动刷新
同步操作将从 chennanbian/local-cache 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package cache
import (
"fmt"
"github.com/google/go-cmp/cmp"
"testing"
)
func TestFifoCache(t *testing.T) {
cache := NewFifoCache(512)
key := "k1"
cache.Set(key, 1)
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节\n\n", cache.Len(), cache.UseBytes())
val := cache.Get(key)
fmt.Println(cmp.Equal(val, 1))
cache.DelOldest()
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节\n\n", cache.Len(), cache.UseBytes())
}
func TestLfuCache(t *testing.T) {
cache := NewLfuCache(512)
for i := 0; i < 10; i++ {
key := fmt.Sprintf("key-%d", i)
cache.Set(key, i)
}
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节, key-9 = %v\n\n", cache.Len(), cache.UseBytes(), cache.Get("key-9"))
for i := 0; i < 3; i++ {
key := fmt.Sprintf("key-%d", i)
cache.Set(key, i)
}
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节, key-3 = %v\n\n", cache.Len(), cache.UseBytes(), cache.Get("key-3"))
cache.Del("key-3")
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节, key-3 = %v\n\n", cache.Len(), cache.UseBytes(), cache.Get("key-3"))
cache.DelOldest()
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节, key-9 = %v\n\n", cache.Len(), cache.UseBytes(), cache.Get("key-9"))
}
func TestLruCache(t *testing.T) {
cache := NewLruCache(512)
key := "k1"
cache.Set(key, 1)
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节\n\n", cache.Len(), cache.UseBytes())
val := cache.Get(key)
fmt.Println(cmp.Equal(val, 1))
cache.DelOldest()
fmt.Printf("cache 元素个数:%d, 占用内存 %d 字节\n\n", cache.Len(), cache.UseBytes())
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。