mirror of https://github.com/tidwall/tile38.git
Fix lua scripts
This commit is contained in:
parent
f0209c8aad
commit
74a47309ec
|
@ -544,73 +544,76 @@ func main() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
case "EVAL":
|
case "EVAL":
|
||||||
if !redis {
|
if redis {
|
||||||
var i int64
|
break
|
||||||
get_script := "return tile38.call('GET', KEYS[1], ARGV[1], 'point')"
|
|
||||||
get4_script :=
|
|
||||||
"a = tile38.call('GET', KEYS[1], ARGV[1], 'point');" +
|
|
||||||
"b = tile38.call('GET', KEYS[1], ARGV[2], 'point');" +
|
|
||||||
"c = tile38.call('GET', KEYS[1], ARGV[3], 'point');" +
|
|
||||||
"d = tile38.call('GET', KEYS[1], ARGV[4], 'point');" +
|
|
||||||
"return d"
|
|
||||||
|
|
||||||
set_script := "return tile38.call('SET', KEYS[1], ARGV[1], 'point', ARGV[2], ARGV[3])"
|
|
||||||
if !opts.Quiet {
|
|
||||||
fmt.Println("Scripts to run:")
|
|
||||||
fmt.Println("GET SCRIPT: " + get_script)
|
|
||||||
fmt.Println("GET FOUR SCRIPT: " + get4_script)
|
|
||||||
fmt.Println("SET SCRIPT: " + set_script)
|
|
||||||
}
|
|
||||||
|
|
||||||
redbench.Bench("EVAL (set point)", addr, opts, prepFn,
|
|
||||||
func(buf []byte) []byte {
|
|
||||||
i := atomic.AddInt64(&i, 1)
|
|
||||||
lat, lon := randPoint()
|
|
||||||
return redbench.AppendCommand(buf, "EVAL", set_script, "1",
|
|
||||||
"key:bench",
|
|
||||||
"id:"+strconv.FormatInt(i, 10),
|
|
||||||
strconv.FormatFloat(lat, 'f', 5, 64),
|
|
||||||
strconv.FormatFloat(lon, 'f', 5, 64),
|
|
||||||
)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
redbench.Bench("EVALNA (set point)", addr, opts, prepFn,
|
|
||||||
func(buf []byte) []byte {
|
|
||||||
i := atomic.AddInt64(&i, 1)
|
|
||||||
lat, lon := randPoint()
|
|
||||||
return redbench.AppendCommand(buf, "EVALNA", set_script, "1",
|
|
||||||
"key:bench",
|
|
||||||
"id:"+strconv.FormatInt(i, 10),
|
|
||||||
strconv.FormatFloat(lat, 'f', 5, 64),
|
|
||||||
strconv.FormatFloat(lon, 'f', 5, 64),
|
|
||||||
)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
redbench.Bench("EVALRO (get point)", addr, opts, prepFn,
|
|
||||||
func(buf []byte) []byte {
|
|
||||||
i := atomic.AddInt64(&i, 1)
|
|
||||||
return redbench.AppendCommand(buf, "EVALRO", get_script, "1", "key:bench", "id:"+strconv.FormatInt(i, 10))
|
|
||||||
},
|
|
||||||
)
|
|
||||||
redbench.Bench("EVALRO (get 4 points)", addr, opts, prepFn,
|
|
||||||
func(buf []byte) []byte {
|
|
||||||
i := atomic.AddInt64(&i, 1)
|
|
||||||
return redbench.AppendCommand(buf, "EVALRO", get4_script, "1",
|
|
||||||
"key:bench",
|
|
||||||
"id:"+strconv.FormatInt(i, 10),
|
|
||||||
"id:"+strconv.FormatInt(i+1, 10),
|
|
||||||
"id:"+strconv.FormatInt(i+2, 10),
|
|
||||||
"id:"+strconv.FormatInt(i+3, 10),
|
|
||||||
)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
redbench.Bench("EVALNA (get point)", addr, opts, prepFn,
|
|
||||||
func(buf []byte) []byte {
|
|
||||||
i := atomic.AddInt64(&i, 1)
|
|
||||||
return redbench.AppendCommand(buf, "EVALNA", get_script, "1", "key:bench", "id:"+strconv.FormatInt(i, 10))
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
var i int64
|
||||||
|
getScript := "return tile38.call('GET', KEYS[1], ARGV[1], 'point')"
|
||||||
|
get4Script :=
|
||||||
|
"local a = tile38.call('GET', KEYS[1], ARGV[1], 'point');" +
|
||||||
|
"local b = tile38.call('GET', KEYS[1], ARGV[2], 'point');" +
|
||||||
|
"local c = tile38.call('GET', KEYS[1], ARGV[3], 'point');" +
|
||||||
|
"local d = tile38.call('GET', KEYS[1], ARGV[4], 'point');" +
|
||||||
|
"return d"
|
||||||
|
|
||||||
|
setScript := "return tile38.call('SET', KEYS[1], ARGV[1], 'point', ARGV[2], ARGV[3])"
|
||||||
|
if !opts.Quiet {
|
||||||
|
fmt.Println("Scripts to run:")
|
||||||
|
fmt.Println("GET SCRIPT: " + getScript)
|
||||||
|
fmt.Println("GET FOUR SCRIPT: " + get4Script)
|
||||||
|
fmt.Println("SET SCRIPT: " + setScript)
|
||||||
|
}
|
||||||
|
redbench.Bench("EVAL (set point)", addr, opts, prepFn,
|
||||||
|
func(buf []byte) []byte {
|
||||||
|
i := atomic.AddInt64(&i, 1)
|
||||||
|
lat, lon := randPoint()
|
||||||
|
return redbench.AppendCommand(buf, "EVAL", setScript, "1",
|
||||||
|
"key:bench",
|
||||||
|
"id:"+strconv.FormatInt(i, 10),
|
||||||
|
strconv.FormatFloat(lat, 'f', 5, 64),
|
||||||
|
strconv.FormatFloat(lon, 'f', 5, 64),
|
||||||
|
)
|
||||||
|
},
|
||||||
|
)
|
||||||
|
redbench.Bench("EVALNA (set point)", addr, opts, prepFn,
|
||||||
|
func(buf []byte) []byte {
|
||||||
|
i := atomic.AddInt64(&i, 1)
|
||||||
|
lat, lon := randPoint()
|
||||||
|
return redbench.AppendCommand(buf, "EVALNA", setScript, "1",
|
||||||
|
"key:bench",
|
||||||
|
"id:"+strconv.FormatInt(i, 10),
|
||||||
|
strconv.FormatFloat(lat, 'f', 5, 64),
|
||||||
|
strconv.FormatFloat(lon, 'f', 5, 64),
|
||||||
|
)
|
||||||
|
},
|
||||||
|
)
|
||||||
|
redbench.Bench("EVALRO (get point)", addr, opts, prepFn,
|
||||||
|
func(buf []byte) []byte {
|
||||||
|
i := atomic.AddInt64(&i, 1)
|
||||||
|
args := []string{"EVALRO", getScript, "1", "key:bench", "id:" + strconv.FormatInt(i, 10)}
|
||||||
|
return redbench.AppendCommand(buf, args...)
|
||||||
|
},
|
||||||
|
)
|
||||||
|
redbench.Bench("EVALRO (get 4 points)", addr, opts, prepFn,
|
||||||
|
func(buf []byte) []byte {
|
||||||
|
i := atomic.AddInt64(&i, 1)
|
||||||
|
args := []string{
|
||||||
|
"EVALRO", get4Script, "1",
|
||||||
|
"key:bench",
|
||||||
|
"id:" + strconv.FormatInt(i, 10),
|
||||||
|
"id:" + strconv.FormatInt(i+1, 10),
|
||||||
|
"id:" + strconv.FormatInt(i+2, 10),
|
||||||
|
"id:" + strconv.FormatInt(i+3, 10),
|
||||||
|
}
|
||||||
|
return redbench.AppendCommand(buf, args...)
|
||||||
|
},
|
||||||
|
)
|
||||||
|
redbench.Bench("EVALNA (get point)", addr, opts, prepFn,
|
||||||
|
func(buf []byte) []byte {
|
||||||
|
i := atomic.AddInt64(&i, 1)
|
||||||
|
return redbench.AppendCommand(buf, "EVALNA", getScript, "1", "key:bench", "id:"+strconv.FormatInt(i, 10))
|
||||||
|
},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue