forked from mirror/ledisdb
handle databases config
This commit is contained in:
parent
7c88ae4fa4
commit
2ec83580ac
|
@ -26,6 +26,7 @@ var readonly = flag.Bool("readonly", false, "set readonly mode, slave server is
|
||||||
var rpl = flag.Bool("rpl", false, "enable replication or not, slave server is always enabled")
|
var rpl = flag.Bool("rpl", false, "enable replication or not, slave server is always enabled")
|
||||||
var rplSync = flag.Bool("rpl_sync", false, "enable sync replication or not")
|
var rplSync = flag.Bool("rpl_sync", false, "enable sync replication or not")
|
||||||
var ttlCheck = flag.Int("ttl_check", 0, "TTL check interval")
|
var ttlCheck = flag.Int("ttl_check", 0, "TTL check interval")
|
||||||
|
var databases = flag.Int("databases", 0, "ledisdb maximum database number")
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||||
|
@ -59,6 +60,10 @@ func main() {
|
||||||
cfg.DBName = *dbName
|
cfg.DBName = *dbName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if *databases > 0 {
|
||||||
|
cfg.Databases = *databases
|
||||||
|
}
|
||||||
|
|
||||||
if len(*slaveof) > 0 {
|
if len(*slaveof) > 0 {
|
||||||
cfg.SlaveOf = *slaveof
|
cfg.SlaveOf = *slaveof
|
||||||
cfg.Readonly = true
|
cfg.Readonly = true
|
||||||
|
|
|
@ -48,8 +48,8 @@ func Open(cfg *config.Config) (*Ledis, error) {
|
||||||
|
|
||||||
if cfg.Databases == 0 {
|
if cfg.Databases == 0 {
|
||||||
cfg.Databases = 16
|
cfg.Databases = 16
|
||||||
} else if cfg.Databases > 16 {
|
} else if cfg.Databases > MaxDatabases {
|
||||||
cfg.Databases = 16
|
cfg.Databases = MaxDatabases
|
||||||
}
|
}
|
||||||
|
|
||||||
os.MkdirAll(cfg.DataDir, 0755)
|
os.MkdirAll(cfg.DataDir, 0755)
|
||||||
|
@ -112,8 +112,8 @@ func (l *Ledis) Close() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Ledis) Select(index int) (*DB, error) {
|
func (l *Ledis) Select(index int) (*DB, error) {
|
||||||
if index < 0 || index >= MaxDatabases {
|
if index < 0 || index >= l.cfg.Databases {
|
||||||
return nil, fmt.Errorf("invalid db index %d, must in [0, %d]", index, MaxDatabases-1)
|
return nil, fmt.Errorf("invalid db index %d, must in [0, %d]", index, l.cfg.Databases-1)
|
||||||
}
|
}
|
||||||
|
|
||||||
l.dbLock.Lock()
|
l.dbLock.Lock()
|
||||||
|
|
Loading…
Reference in New Issue