The answer to all of your question is "it depends".
1) Should I update my db each time they log in?
It depends.
- Why are you saving it at all?
- How expensive is it to save the data? If cheap, what's the debate?
2) Should I update it periodically anyway?
It depends.
The answers to the two questions, above, will be relevant. But also...
- Are you using the data when they aren't logged in? If so, what is the cost if the data is wrong?
- How would you determine what "periodically" means?
- How do you benefit by not saving every time?
- What complexity do you add to your code by working in 'do I save it or not' logic? Is it worth it?
3) What is the recommended frequency?
As you can probably guess: It depends...