#5420 优化项目广场查询速度

Merged
chenyifan01 merged 2 commits from fix-5405 into V20240423 4 weeks ago
  1. +9
    -1
      routers/private/hook.go
  2. +2
    -1
      services/repository/contributor.go

+ 9
- 1
routers/private/hook.go View File

@@ -7,6 +7,8 @@ package private

import (
"bufio"
"code.gitea.io/gitea/modules/redis/redis_client"
"code.gitea.io/gitea/modules/redis/redis_key"
"context"
"fmt"
"io"
@@ -567,10 +569,16 @@ func updateRepoCommitCnt(ctx *macaron.Context, repo *models.Repository) error {
log.Error("UpdateRepositoryCommitNum failed:%v", err.Error(), ctx.Data["MsgID"])
return err
}

//删除缓存
go deleteCommitRelatedCache(repo)
return nil
}

func deleteCommitRelatedCache(repo *models.Repository) {
k := redis_key.RepoTopNContributors(repo.ID, 6)
redis_client.Del(k)
}

// SetDefaultBranch updates the default branch
func SetDefaultBranch(ctx *macaron.Context) {
ownerName := ctx.Params(":owner")


+ 2
- 1
services/repository/contributor.go View File

@@ -8,6 +8,7 @@ import (
"code.gitea.io/gitea/modules/redis/redis_key"
"encoding/json"
"github.com/patrickmn/go-cache"
"math/rand"
"time"
)

@@ -31,7 +32,7 @@ func GetRepoTopNContributors(repo *models.Repository, N int) ([]*models.Contribu
log.Debug("Get RepoTopNContributors from disk,repo.ID = %d ", repo.ID)
jsonVal, err := json.Marshal(&ContributorCacheVal{Contributors: contributorInfos, Total: total})
if err == nil {
redis_client.Setex(redis_key.RepoTopNContributors(repo.ID, N), string(jsonVal), 2*time.Minute)
redis_client.Setex(redis_key.RepoTopNContributors(repo.ID, N), string(jsonVal), 30*24*time.Hour+time.Duration(rand.Intn(10))*time.Hour)
}
return contributorInfos, total
}


Loading…
Cancel
Save