本文整理汇总了Golang中github.com/valyala/ybc/bindings/go/ybc.Config.OpenCache方法的典型用法代码示例。如果您正苦于以下问题:Golang Config.OpenCache方法的具体用法?Golang Config.OpenCache怎么用?Golang Config.OpenCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/valyala/ybc/bindings/go/ybc.Config
的用法示例。
在下文中一共展示了Config.OpenCache方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: newBenchClientServerCache_Ext
func newBenchClientServerCache_Ext(buffersSize, osBuffersSize, maxPendingRequestsCount int, b *testing.B) (c *Client, s *Server, cache *ybc.Cache) {
config := ybc.Config{
MaxItemsCount: 1000 * 1000,
DataFileSize: 10 * 1000 * 1000,
}
cache, err := config.OpenCache(true)
if err != nil {
b.Fatal(err)
}
s = &Server{
Cache: cache,
ListenAddr: testAddr,
ReadBufferSize: buffersSize,
WriteBufferSize: buffersSize,
OSReadBufferSize: osBuffersSize,
OSWriteBufferSize: osBuffersSize,
}
s.Start()
c = &Client{
ServerAddr: testAddr,
ClientConfig: ClientConfig{
ReadBufferSize: buffersSize,
WriteBufferSize: buffersSize,
OSReadBufferSize: osBuffersSize,
OSWriteBufferSize: osBuffersSize,
MaxPendingRequestsCount: maxPendingRequestsCount,
},
}
c.Start()
return
}
示例2: newCache
func newCache(t *testing.T) *ybc.Cache {
config := ybc.Config{
MaxItemsCount: 1000 * 1000,
DataFileSize: 10 * 1000 * 1000,
}
cache, err := config.OpenCache(true)
if err != nil {
t.Fatal(err)
}
return cache
}
示例3: newBenchCachingClientServerCache
func newBenchCachingClientServerCache(b *testing.B) (cc *CachingClient, s *Server, cache *ybc.Cache) {
c, s, cache := newBenchClientServerCache(b)
config := ybc.Config{
MaxItemsCount: 1000 * 1000,
DataFileSize: 10 * 1000 * 1000,
}
localCache, err := config.OpenCache(true)
if err != nil {
b.Fatal(err)
}
cc = &CachingClient{
Client: c,
Cache: localCache,
}
return
}
示例4: 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
}
示例5: 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)
}
}