Расскажите в чем физ.преимущество hashfile а точнее понять реальную область применения.
andylars 30.01.2015 20:59
/ 30.01.2015 21:00
Захотелось сделать легковесные сессии. Т.к. 80% страниц вебпроекта на залогиненной сессии практически не тянет за собой много данных, чтобы все крутить на БД.
Таким образом, первое что приходит на ум это файловая реализации сессий.
И тут я вспомнил про hashfile, вроде бы прочитал его быструю реализаию с seek-ом и всякими оптимизациями против обычного открытия файла.
И почему-то сложилось впечатление, что предлагается сложить все сессии в этот (один) файл.
Мне же кажется, что логично иметь отдельный файл на каждую сессию.
вида UUID_F8AHH_SOME_HASH.sess (+/- md5 со своей солью)
Во-первых, никаких проблем с блокировками. У каждой сессии свой файл.
Во-вторых, в каждый пользовательский runtime подгружается относительн небольшой файлик (какие-то байты).
В-третьих, можно даже визуально оценить активные сессии - зайдя в какой-то /data/sessions/
и увидеть кол-во лежащих там файлов сессий.
В-четвертых разлогинить элементарно - просто трёшь файл.
В-пятых разлогинить например по timeout легко - у файла в линуксовской ФС
есть атрибут ADATA - то есть дата/время последнего использования файла
таким образом, можно в "почтовый час" обходить и утилизировать сессии, а оперативно делать это в runtime-ме пользователя запросившего просроченную сессию.
И при таком раскладе вполне подойдет и обычный файл типа table, ну или как раз hashfile
Может так и задумывалось, и я привратно понял целевое применение?
- Расскажите в чем физ.преимущество hashfile а точнее понять реальную область применения., andylars 30.01.2015 20:59 / 30.01.2015 21:00