1、一个关于redis计数的问题,如果当前为空就incr并且设置过期时间,如果不为空就加1,理论上redis的加1都是原子操作,没想过会因为多线程而导致什么问题,结果出现一个案例,redis存在一直在+1,并且没有被删除;
第一想法是不是redis出了问题,努力寻找日志想找到关于redis问题的证据,没有结果,后来发现这个请求量相当之大,突然想到会不会在第一个判断的时候redis还没过期,到第二个判断的时候正好过期,结果redis只+1没有设置过期时间;重新修改代码解决。
代码示例
2、之前公司经常压测,对压测经验颇多,现在公司突然搞起了压测,遇到了不少问题,突然拉我进组要解决问题,态度颇为不耐烦,略有我又要重新给你讲一遍的感觉,好在我走了一遍流程成功解决,并且针对是否有压测标优化了返回结果,此时感觉有大厂经验真好;
3、现在公司上线还是用snapshot版本,开发不小心重新打包对线上会有影响,我提议使用release版本,竟然还被说流程组同事没有要求,这样可能不合法,我内心。。。
4、被和谐了
5、一个dubbo接口,提供者把值存在了redis缓存中,消费者需要值还是要调用dubbo接口,我提议消费者直接读取redis值,减少rpc调用,如果获取不到再调用dubbo接口;dubbo接口提供者在修改值时会删除缓存,查询会插入缓存;暂时还没想到有啥不好;如果在消费者另外存缓存,会涉及到有延时,修改值不会立即生效,并且只能存短期缓存,不能长久解决大量rpc带来的线程池占用问题;
以上内容全为虚构,切勿对号入座!!!!!(求生欲满满)