голосов ++ не защищает от состояния гонок от других запросов, поэтому желательно иметь решение для базы данных.
Например: представьте, что два запроса приходят почти одновременно
1st request loads object - votes is 500
2nd request loads object - votes is 500
1st increments value in memory - votes is 501
2nd increments value in memory - votes is 501
1st saves to db - votes is 501
2nd saves to db - votes is 501 (should be 502)