游戏战斗中,持续性buff服务端怎么处理?

游戏战斗中,持续性buff服务端怎么处理?
比如,有个buff,每秒扣200点血,持续4秒,服务器怎么处理,是开个延迟任务,每秒计算一下并广播给客户端,还是怎么处理?

能用缓存就用缓存