What's the best way to monitor if the mesh was changed?

How to monitor if the mesh changes? Added or removed some vertices/edges/polygons or changed the coordinates of existed vertices?
Add a timer call? For that what’s the best frequency value?
Or any other ways?

An app handler listening for depsgraph updates is probably the best solution.
https://docs.blender.org/api/current/bpy.app.handlers.html
https://docs.blender.org/api/master/bpy.types.Depsgraph.html#bpy.types.Depsgraph.updates

Thank you! I will try to use this.