I am using Cache to save login sessions for mobile application users. I am on Laravel 4. Any time someone logs out I empty their session token using:
Cache::forget($token);
The problem is this leaves a couple of empty folders that were initially created to save the cache file. I fear having many empty folders in the app/storage/cache folder is going to reduce the fetch time for reading cache data in the future.
How do I erase the two parent folders of the cache file along with the file when i run the Cache::forget function?
You shouldn't worry about it. When accessing session data Laravel does not scan through all the folders but knows exactly what folder and subfolder the session is stored in as their names are equal to first and second 2 characters of session key. This is done to optimize session storage as depending on the operation systems there might exist limits of number of files that can be stored in a single folder.
On the other hand, removing those folders every time someone logs out would have impact, as Laravel would first need to check if folder does not contain any other sessions, which would result in additional I/O operations.
Lastly, as folder name is created by taking 2 characters of session key and session key contains only hexadecimal digits, number of folders won't exceed 256 (16*16).