class Shelf
field :books_count
has_many :books
end
class Book
belongs_to :shelf, counter_cache: :books_count
end
假设,一个 shelf 最多有 10 本书,现在书架上已有 9 本,shelf.books_count = 9
现在同时进来两个请求,尝试在 shelfs 上创建一个 book
在 controller 中 create book 时验证 books_count,但是此时两个请求拿到的都是 9,所以两个请求的验证都会通过,会出现书架上出现 11 本书的情况
请问下,这种情况下怎么处理比较好呢?redis?