the users registered in a web site will have the possibility to send invitations to the friends. I want to add a daily limit for the number of invitations that a user may send.
Initially I’ve just added a limit (40) in the php file, but then I thought it would be better to give to the administrators the possibility to change this limit, so I’ve added this limit in the database. But now every time a user want to send invitations the database will be used. Would this affect the performance?
How would you configure this feature?
TL;DR: just put it in the database. 🙂
Complete story: It should not be a performance hit. Everything (the user itself, the usernames of the recipient, loads of stuff from your page) will be coming from your database. you shouldn’t care.
If you have a REALLY big userbase, and it becomes an issue, I’m sure there are other places to do performance updates (like use memcached for all sorts of stuff). But if you want to “cache” it, I guess you could retrieve it once while loggin in and put it in the session. Use this value to substract and check etc. then ALSO check once against the database (in the background) to make sure there isn’t any sort of freakish thing going on for this user. But this can be async, and does not have as big of an impact for the user-experience.
In the rare case the session says it’s ok, but the database says it isn’t, just send the user an error. The other way around, might need the user to re-login. But it will be rare or even impossible if you implement it correctly 🙂