添加GetAll

This commit is contained in:
2024-08-17 13:45:32 +08:00
parent c13f9b8b82
commit a0ee3b858b

14
get.go
View File

@@ -57,6 +57,20 @@ func (c *Cache[K, V]) GetTTL(key K) (int64, bool) {
return ttl, ok
}
// GetAll 获取所有数据
// 返回值: 数据
// 该功能为一些状态API提供支持
func (c *Cache[K, V]) GetAll() map[K]Data[V] {
c.mu.RLock()
defer c.mu.RUnlock()
data := make(map[K]Data[V], len(c.data))
for k, v := range c.data {
data[k] = *v
}
return data
}
/*
下方仅为获取数据并且输出指定类型的方法
推荐在定义类型为any的情况下使用