考虑性能可以用 redis 来做计数。现在可以暂时用 transaction，不做这个检查的话也要走 transaction，影响不是太大