Ce que tu peux faire, c'est stocker l'ID de la session dans un cookie qui n'expire pas lors de la fermeture du navigateur, mais, par exemple, 1 heure après la dernière consultation d'une page de ton site.
Si un client se reconnecte avec un cookie non expiré, il sera dans ce cas reconnu et pourra réutiliser sa session. Si, au contraire, il se présente sans cookie il devra recréer une session.
Mais ceci ne te dispense pas d'imaginer un mécanisme pour effacer les sessions périmées de ta BDD (celles qui n'ont pas été mises à jour depuis 1 heure).
Voilà l'idée, après à toi d'adapter.