最近使用mongodb做计数逻辑,操作步骤如下:
1、mongodb.save(o);
2、mongodb.queryCount(o);
在测试环境中,操作完1后2确实能查出数据来,理论上也应该可以查出来;可上了生产后,发现操作完1后2查不出数据来,这就尴尬了;
进一步咨询发现,生产环境的mongodb是主从集群,且是读写分离的主从集群,主负责写,从负责读;这样就可以解释,为什么操作完1后2查不出数据来;
举一反三一下:
redis、mysql这样的主从集群也会存在这样的问题,尤其是查询的时候不是根据主键的情况下;
如果是换成先查后保存,这样就会避免类似的情况发生