dq05304 2015-08-21 04:03
浏览 90
已采纳

Laravel Cache留空文件夹

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?

  • 写回答

1条回答 默认 最新

  • doubu7134 2015-08-21 04:23
    关注

    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).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部