123456789101112131415161718192021222324252627 |
- package usercache
- import (
- "github.com/ente-io/museum/ente"
- "github.com/ente-io/stacktrace"
- )
- func (c *Controller) GetUserFileCountWithCache(userID int64, app ente.App) (int64, error) {
- // Check if the value is present in the cache
- if count, ok := c.UserCache.GetFileCount(userID, app); ok {
- // Cache hit, update the cache asynchronously
- go func() {
- _, _ = c.getUserCountAndUpdateCache(userID, app)
- }()
- return count, nil
- }
- return c.getUserCountAndUpdateCache(userID, app)
- }
- func (c *Controller) getUserCountAndUpdateCache(userID int64, app ente.App) (int64, error) {
- count, err := c.FileRepo.GetFileCountForUser(userID, app)
- if err != nil {
- return 0, stacktrace.Propagate(err, "")
- }
- c.UserCache.SetFileCount(userID, count, app)
- return count, nil
- }
|