Yes, use the [node_load()][1] and [node_save()][2] functions as these take care of everything for you including the cache.

Changing the values directly in the database is not advised as any number of modules could have additional handlers added which will not be picked up by altering the database directly.


  [1]: https://api.drupal.org/api/function/node_load/7
  [2]: https://api.drupal.org/api/function/node_save/7