如何从proxy日志中, 理容response的字节数计算命中率:
key 不存在时:
ning@ning-laptop ~/test$ redis-cli -p 4100 get kkk (nil) $-1..
key存在时:
ning@ning-laptop ~/test$ redis-cli -p 4100 set k v OK ning@ning-laptop ~/test$ redis-cli -p 4100 get k "v" $1..v..
判断:
if rsp_len > 5 : hit
key 不存在时, 或者请求的field都不存在:
ning@ning-laptop ~/test$ redis-cli -p 4100 hmget kkk 1 2 1) (nil) 2) (nil) *2..$-1..$-1..
key 存在, 请求的field有存在:
ning@ning-laptop ~/test$ redis-cli -p 4100 hmset kk 1 xxx OK ning@ning-laptop ~/test$ redis-cli -p 4100 hmget kk 1 2 1) "xxx" 2) (nil) *2..$3..xxx..$-1..
这样判断:
nfiled = narg - 2 if rsp_len > 3+len(str(nfeild))+(5*nfield): hit
key 存在:
ning@ning-laptop ~/test$ redis-cli -p 4100 hgetall kk 1) "1" 2) "xxx" *2..$1..1..$3..xxx..
key不存在:
ning@ning-laptop ~/test$ redis-cli -p 4100 hgetall kkk (empty list or set) |*0..|
判断:
if rsp_len > 4: hit
用的比较少, 不能简单的从rsp_len来判断.