On second thought there is a lot of things bothering me in there
You're caching a table that is a relation between player and their aggrolevel to each faction, virtually this table can get pretty huge as the player history grows !
That's not the same trouble than Inventory Table can be but it's the same type of data growing with player count, we can afford to cache most tables that are only "settings" or "constant data" like objects/skills/location/properties/quests etc, but it's a pretty bad idea to fully cache a table linked with character records !
If your database hold 100 000 players but only 10 of them are playing at a time you waste memory
This cache should only load when player connect to game, and unload when they log out, and it will be way more efficient than actual behavior without adding too much memory usage
