readme md
parent
f4d9a23e79
commit
f70e396bca
76
README.md
76
README.md
|
@ -131,61 +131,43 @@ map, struct, func
|
||||||
# Пример использования
|
# Пример использования
|
||||||
|
|
||||||
```go
|
```go
|
||||||
package main
|
cache := candycache.Cacher(10 * time.Minute) // Создаем кэш с интервалом очистки 10 минут
|
||||||
|
|
||||||
import (
|
cache.Set("key1", "string", 5*time.Minute)
|
||||||
"fmt"
|
cache.Set("key2", 2, 10*time.Minute)
|
||||||
"log"
|
cache.Set("key7", -2.1231, 10*time.Minute)
|
||||||
"main/candycache"
|
cache.Set("key3", []string{"string1", "string2"}, 10*time.Minute)
|
||||||
"os"
|
cache.Set("key4", map[string]int{"a": 1, "b": 2}, 10*time.Minute)
|
||||||
"time"
|
cache.Set("key5", Person{Name: "Alice", Age: 30, Hobbies: []string{"reading", "swimming"}}, 10*time.Minute)
|
||||||
)
|
cache.Set("key6", []Person{
|
||||||
|
{Name: "Bob", Age: 25, Hobbies: []string{"coding", "gaming"}},
|
||||||
|
{Name: "Charlie", Age: 35, Hobbies: []string{"hiking", "photography"}},
|
||||||
|
}, 10*time.Minute)
|
||||||
|
|
||||||
type Person struct {
|
file, err := os.Create("cache_dump.json")
|
||||||
Name string
|
if err != nil {
|
||||||
Age int
|
log.Fatal("error creating file: ", err)
|
||||||
Hobbies []string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
if err := cache.Save(file); err != nil { // Сохранение кэша в файл
|
||||||
cache := candycache.Cacher(10 * time.Minute) // Создаем кэш с интервалом очистки 10 минут
|
log.Fatal("error saving cache: ", err)
|
||||||
|
}
|
||||||
|
file.Close()
|
||||||
|
|
||||||
cache.Set("key1", "string", 5*time.Minute)
|
cache.Flush() // Удаление всех элементов из кэша
|
||||||
cache.Set("key2", 2, 10*time.Minute)
|
|
||||||
cache.Set("key7", -2.1231, 10*time.Minute)
|
|
||||||
cache.Set("key3", []string{"string1", "string2"}, 10*time.Minute)
|
|
||||||
cache.Set("key4", map[string]int{"a": 1, "b": 2}, 10*time.Minute)
|
|
||||||
cache.Set("key5", Person{Name: "Alice", Age: 30, Hobbies: []string{"reading", "swimming"}}, 10*time.Minute)
|
|
||||||
cache.Set("key6", []Person{
|
|
||||||
{Name: "Bob", Age: 25, Hobbies: []string{"coding", "gaming"}},
|
|
||||||
{Name: "Charlie", Age: 35, Hobbies: []string{"hiking", "photography"}},
|
|
||||||
}, 10*time.Minute)
|
|
||||||
|
|
||||||
file, err := os.Create("cache_dump.json")
|
file, err = os.Open("cache_dump.json")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("error creating file: ", err)
|
log.Fatal("error opening file: ", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := cache.Save(file); err != nil { // Сохранение кэша в файл
|
if err := cache.Load(file); err != nil { // Загрузка кэша из файла
|
||||||
log.Fatal("error saving cache: ", err)
|
fmt.Println("error load cache:", err)
|
||||||
}
|
}
|
||||||
file.Close()
|
|
||||||
|
|
||||||
cache.Flush() // Удаление всех элементов из кэша
|
list := cache.List() // Получаю список элементов кэша
|
||||||
|
|
||||||
file, err = os.Open("cache_dump.json")
|
for _, i := range list {
|
||||||
if err != nil {
|
fmt.Println(i.Key, i.Item.Data(), i.Item.DestroyTimestamp())
|
||||||
log.Fatal("error opening file: ", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := cache.Load(file); err != nil { // Загрузка кэша из файла
|
|
||||||
fmt.Println("error load cache:", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
list := cache.List() // Получаю список элементов кэша
|
|
||||||
|
|
||||||
for _, i := range list {
|
|
||||||
fmt.Println(i.Key, i.Item.Data(), i.Item.DestroyTimestamp())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
```
|
```
|
Loading…
Reference in New Issue