add term and comment caches, adjust limits
This commit is contained in:
parent
1e149fa984
commit
45368491d7
33
main.go
33
main.go
|
@ -161,12 +161,20 @@ func init() {
|
||||||
func main() {
|
func main() {
|
||||||
var UC MetadataCache
|
var UC MetadataCache
|
||||||
UC.objects = make(map[int64]metadataObject)
|
UC.objects = make(map[int64]metadataObject)
|
||||||
UC.sizeLimit = 100
|
UC.sizeLimit = 5000
|
||||||
UC.objectType = "u"
|
UC.objectType = "u"
|
||||||
var PC MetadataCache
|
var PC MetadataCache
|
||||||
PC.objects = make(map[int64]metadataObject)
|
PC.objects = make(map[int64]metadataObject)
|
||||||
PC.sizeLimit = 100
|
PC.sizeLimit = 5000
|
||||||
PC.objectType = "p"
|
PC.objectType = "p"
|
||||||
|
var TC MetadataCache
|
||||||
|
TC.objects = make(map[int64]metadataObject)
|
||||||
|
TC.sizeLimit = 5000
|
||||||
|
TC.objectType = "p"
|
||||||
|
var CC MetadataCache
|
||||||
|
CC.objects = make(map[int64]metadataObject)
|
||||||
|
CC.sizeLimit = 100
|
||||||
|
CC.objectType = "p"
|
||||||
|
|
||||||
if err := os.RemoveAll(*sockpath); err != nil {
|
if err := os.RemoveAll(*sockpath); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
@ -181,7 +189,7 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// handle error
|
// handle error
|
||||||
}
|
}
|
||||||
go handleConnection(conn, UC, PC)
|
go handleConnection(conn, UC, PC, TC, CC)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -192,7 +200,7 @@ type cachecommand struct {
|
||||||
Command string `json:"c"`
|
Command string `json:"c"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleConnection(conn net.Conn, UC MetadataCache, PC MetadataCache) {
|
func handleConnection(conn net.Conn, UC MetadataCache, PC MetadataCache, TC MetadataCache, CC MetadataCache) {
|
||||||
log.Println("handleConnection started")
|
log.Println("handleConnection started")
|
||||||
var m *MetadataCache
|
var m *MetadataCache
|
||||||
reader := bufio.NewReader(conn)
|
reader := bufio.NewReader(conn)
|
||||||
|
@ -211,10 +219,19 @@ func handleConnection(conn net.Conn, UC MetadataCache, PC MetadataCache) {
|
||||||
log.Printf("json.Unmarshal: %s returned %s", buf, err.Error())
|
log.Printf("json.Unmarshal: %s returned %s", buf, err.Error())
|
||||||
}
|
}
|
||||||
var values []string
|
var values []string
|
||||||
if c.ObjectType == "u" {
|
switch c.ObjectType {
|
||||||
m = &UC
|
case "u":
|
||||||
} else if c.ObjectType == "p" {
|
m=&UC
|
||||||
m = &PC
|
case "p":
|
||||||
|
m=&PC
|
||||||
|
case "t":
|
||||||
|
m=&TC
|
||||||
|
case "c":
|
||||||
|
m=&CC
|
||||||
|
default:
|
||||||
|
log.Printf("Invalid cache requested: %s\n", c.ObjectType)
|
||||||
|
conn.Close()
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if c.Command == "g" {
|
if c.Command == "g" {
|
||||||
values, err = m.Get(c.ObjectId, c.Key)
|
values, err = m.Get(c.ObjectId, c.Key)
|
||||||
|
|
Loading…
Reference in New Issue