2017年1月

今天在做服务更新时,发现老服务停掉很久以后,新服务还是启不来,提示:端口被占用。

这种情况之前碰到过多次,一般是老服务没停掉,所以端口还在被占,这次是老服务确认停掉很久了,端口依然被占,感觉略诡异。
最终找到原因了,备忘一下。

- 阅读剩余部分 -

刚好这几天有童鞋产生了这一系列误解,备忘一下。

1、info信息的最后一行
# Keyspace
db0:keys=645145,expires=585678,avg_ttl=15585373
keys现存的key数量,这个没问题,expires是当前存在的key里带过期时间的数量,很容易误解为已经过期的数量。
已经过期的数量是Stats区的expired_keys:
expired_keys:243043954

2、slowlog,官方文档https://redis.io/commands/slowlog
初次查很容易被吓到,比如官方举的这个例子,get请求居然花了30毫秒,太慢了
[code]
redis 127.0.0.1:6379> slowlog get 2
1) 1) (integer) 14
2) (integer) 1309448221
3) (integer) 15
4) 1) "ping"
2) 1) (integer) 13
2) (integer) 1309448128
3) (integer) 30
4) 1) "slowlog"
2) "get"
3) "100"
[/code]

- 阅读剩余部分 -