It'll keep a good long while and is effective as long as it's above a certain acidity. I keep 5 gallons of solution in a 6 gallon fermenting bucket (had to go buy one as I ferment in carboys). The last batch I made I've had for at least 3, maybe 6 months and it shows no signs of needing to be tossed. I test pH each time I use it and last time the test strip showed between 4 and 2 for the pH.
I've seen other brewers do this, and I've confirmed it with Five Star (the company that makes Star San) also.
I love using the 6 gallon bucket because I can just dip my equipment into the bucket for a quick soak and then use it right away. For carboys, I dump the solution into the carboy, let it set for a couple minutes, and then just dump it back in. For my kegs, I dump about 3 gallons in the keg, seal it and let it set for a couple minutes. Then I flip it upside down, and let it set for a couple more minutes.