本文整理匯總了Golang中github.com/valyala/ybc/bindings/go/ybc.Config.IndexFile方法的典型用法代碼示例。如果您正苦於以下問題:Golang Config.IndexFile方法的具體用法?Golang Config.IndexFile怎麽用?Golang Config.IndexFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/valyala/ybc/bindings/go/ybc.Config
的用法示例。
在下文中一共展示了Config.IndexFile方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: createCache
func createCache() ybc.Cacher {
config := ybc.Config{
MaxItemsCount: ybc.SizeT(*maxItemsCount),
DataFileSize: ybc.SizeT(*cacheSize) * ybc.SizeT(1024*1024),
}
var err error
var cache ybc.Cacher
cacheFilesPath_ := strings.Split(*cacheFilesPath, ",")
cacheFilesCount := len(cacheFilesPath_)
logMessage("Opening data files. This can take a while for the first time if files are big")
if cacheFilesCount < 2 {
if cacheFilesPath_[0] != "" {
config.DataFile = cacheFilesPath_[0] + ".cdn-booster.data"
config.IndexFile = cacheFilesPath_[0] + ".cdn-booster.index"
}
cache, err = config.OpenCache(true)
if err != nil {
logFatal("Cannot open cache: [%s]", err)
}
} else if cacheFilesCount > 1 {
config.MaxItemsCount /= ybc.SizeT(cacheFilesCount)
config.DataFileSize /= ybc.SizeT(cacheFilesCount)
var configs ybc.ClusterConfig
configs = make([]*ybc.Config, cacheFilesCount)
for i := 0; i < cacheFilesCount; i++ {
cfg := config
cfg.DataFile = cacheFilesPath_[i] + ".cdn-booster.data"
cfg.IndexFile = cacheFilesPath_[i] + ".cdn-booster.index"
configs[i] = &cfg
}
cache, err = configs.OpenCluster(true)
if err != nil {
logFatal("Cannot open cache cluster: [%s]", err)
}
}
logMessage("Data files have been opened")
return cache
}
示例2: main
func main() {
iniflags.Parse()
runtime.GOMAXPROCS(*goMaxProcs)
syncInterval_ := *syncInterval
if syncInterval_ <= 0 {
syncInterval_ = ybc.ConfigDisableSync
}
config := ybc.Config{
MaxItemsCount: ybc.SizeT(*maxItemsCount),
DataFileSize: ybc.SizeT(*cacheSize) * ybc.SizeT(1024*1024),
HotItemsCount: ybc.SizeT(*hotItemsCount),
HotDataSize: ybc.SizeT(*hotDataSize),
DeHashtableSize: *deHashtableSize,
SyncInterval: syncInterval_,
}
var cache ybc.Cacher
var err error
cacheFilesPath_ := strings.Split(*cacheFilesPath, ",")
cacheFilesCount := len(cacheFilesPath_)
log.Printf("Opening data files. This can take a while for the first time if files are big\n")
if cacheFilesCount < 2 {
if cacheFilesPath_[0] != "" {
config.DataFile = cacheFilesPath_[0] + ".go-memcached.data"
config.IndexFile = cacheFilesPath_[0] + ".go-memcached.index"
}
cache, err = config.OpenCache(true)
if err != nil {
log.Fatalf("Cannot open cache: [%s]", err)
}
} else if cacheFilesCount > 1 {
config.MaxItemsCount /= ybc.SizeT(cacheFilesCount)
config.DataFileSize /= ybc.SizeT(cacheFilesCount)
var configs ybc.ClusterConfig
configs = make([]*ybc.Config, cacheFilesCount)
for i := 0; i < cacheFilesCount; i++ {
cfg := config
cfg.DataFile = cacheFilesPath_[i] + ".go-memcached.data"
cfg.IndexFile = cacheFilesPath_[i] + ".go-memcached.index"
configs[i] = &cfg
}
cache, err = configs.OpenCluster(true)
if err != nil {
log.Fatalf("Cannot open cache cluster: [%s]", err)
}
}
defer cache.Close()
log.Printf("Data files have been opened\n")
s := memcache.Server{
Cache: cache,
ListenAddr: *listenAddr,
ReadBufferSize: *readBufferSize,
WriteBufferSize: *writeBufferSize,
OSReadBufferSize: *osReadBufferSize,
OSWriteBufferSize: *osWriteBufferSize,
}
log.Printf("Starting the server")
if err := s.Serve(); err != nil {
log.Fatalf("Cannot serve traffic: [%s]", err)
}
}