You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							46 lines
						
					
					
						
							1.1 KiB
						
					
					
				| // Copyright 2019 The Gitea Authors. All rights reserved.
 | |
| // Use of this source code is governed by a MIT-style
 | |
| // license that can be found in the LICENSE file.
 | |
| 
 | |
| package setting
 | |
| 
 | |
| import (
 | |
| 	"strings"
 | |
| 	"time"
 | |
| 
 | |
| 	"code.gitea.io/gitea/modules/log"
 | |
| 
 | |
| 	_ "gitea.com/macaron/cache/memcache" // memcache plugin for cache
 | |
| 	_ "gitea.com/macaron/cache/redis"
 | |
| )
 | |
| 
 | |
| // Cache represents cache settings
 | |
| type Cache struct {
 | |
| 	Adapter  string
 | |
| 	Interval int
 | |
| 	Conn     string
 | |
| 	TTL      time.Duration
 | |
| }
 | |
| 
 | |
| var (
 | |
| 	// CacheService the global cache
 | |
| 	CacheService *Cache
 | |
| )
 | |
| 
 | |
| func newCacheService() {
 | |
| 	sec := Cfg.Section("cache")
 | |
| 	CacheService = &Cache{
 | |
| 		Adapter: sec.Key("ADAPTER").In("memory", []string{"memory", "redis", "memcache"}),
 | |
| 	}
 | |
| 	switch CacheService.Adapter {
 | |
| 	case "memory":
 | |
| 		CacheService.Interval = sec.Key("INTERVAL").MustInt(60)
 | |
| 	case "redis", "memcache":
 | |
| 		CacheService.Conn = strings.Trim(sec.Key("HOST").String(), "\" ")
 | |
| 	default:
 | |
| 		log.Fatal("Unknown cache adapter: %s", CacheService.Adapter)
 | |
| 	}
 | |
| 	CacheService.TTL = sec.Key("ITEM_TTL").MustDuration(16 * time.Hour)
 | |
| 
 | |
| 	log.Info("Cache Service Enabled")
 | |
| }
 | |
| 
 |