[eluser]tomdelonge[/eluser]
Just do garbage collection like the session class.
Basically, you could have an ip_address column and a ip_date column.
Then every request on a certain function would get some probability. You could have it be 1 out of 100 chance or something. Then every 100th request (basically, give or take a few since it's random) clear out all rows older than a certain timestamp (a week if that's what you want).
Or you could use a cron job if you want...