|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Есть некий REST-сервис, работающий через JSON. Для работы с сервисом необходимо авторизоваться, после успешной авторизации сервис выдает токен, который должен указываться во всех последующих запросах. Токен действует несколько часов. Токен выдается довольно долго (1-2 секунды, иногда более 5 секунд), поэтому есть очень большое желание по возможности использовать токен, который уже был получен. Какие есть возможности для его промежуточного хранения? Самое простое это файловая система (в /tmp или в www). В принципе вполне нормальное решение, но может быть есть что-то лучше? Можно хранить в БД, но это неудобно по организационным причинам. Может быть есть возможность хранить небольшие объемы данных в какой-нибудь shared-памяти? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 09:32 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Забыл обозначить — с сервисом работает PHP-скрипт (автономно вызываемый по расписанию или по событию). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 09:33 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Нашел похожий вопрос: https://stackoverflow.com/questions/10868696/store-php-variables-in-memory-between-script-executions Исходя из ответов остаются два варианта — файл или APC. Но все же теме более 7 лет, может быть с тех пор появилось что-то новое? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 10:44 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Alibek B.Самое простое это файловая система (в /tmp или в www). В принципе вполне нормальное решение, но может быть есть что-то лучше? Можно хранить в БД, но это неудобно по организационным причинам.И то и другое вполне нормальные решения. Есть ещё memcache, это своего рода простейшая БД в памяти. Однако, не без недостатков. Данные пропадают полностью уже при перезапуске сервиса. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 10:48 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Перезапуск сервиса не проблема - если токен не будет найден в Кеше, я его получу по новой. Но ставить сторонний софт не хотелось бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 10:50 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Alibek B.Исходя из ответов остаются два варианта — файл или APC.Немножко изменилось. Семь лет прошло ж. Открываем мануал: http://php.net/manual/ru/intro.apc.php Внимание Это расширение считается неподдерживаемым и мертвым. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 10:52 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Alibek B.ставить сторонний софт не хотелось быНередко на серверах бывает SQLITE, простая СУБД с однопользовательским доступом. Последнее накладывает заметное ограничение. Расширение pdo-sqlite для доступа. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 11:05 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Alibek B.Какие есть возможности для его промежуточного хранения? Самое простое это файловая система (в /tmp или в www). В принципе вполне нормальное решение, но может быть есть что-то лучше? например memcached ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 11:50 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Alibek B.Забыл обозначить — с сервисом работает PHP-скрипт (автономно вызываемый по расписанию или по событию). CURL + COOKIES? https://stackoverflow.com/questions/15995919/how-to-use-curl-to-send-cookies ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2019, 14:22 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Вею-сервис нужные заголовки возвращает не как cookies, то есть они автоматически не сохраняться. А если их сохранять вручную, то это ничем не отличается от сохранения в файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2019, 14:28 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Alibek B.Вею-сервис нужные заголовки возвращает не как cookies, то есть они автоматически не сохраняться. А если их сохранять вручную, то это ничем не отличается от сохранения в файл. Сессии, memcached. Ты ж не озвучил, как конкретно ты с сервисом работаешь, а значит и ответ будет как в анекдоте про аспиранта и профессора - "тогда сам ищи". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2019, 19:15 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Разве то, что это REST, недостаточно? Я отправляю HTTP-запросы на сервис, получаю ответы. Для успешного выполнения в запросе нужно передавать токен. Токен можно получать не на каждый запрос, его можно (и нужно) получить и использовать в течение всего срока действия. Если говорить конкретно, это протокол Атол Онлайн версии 4. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2019, 21:26 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
vkleAlibek B.Исходя из ответов остаются два варианта — файл или APC.Немножко изменилось. Семь лет прошло ж. Открываем мануал: http://php.net/manual/ru/intro.apc.php Внимание Это расширение считается неподдерживаемым и мертвым. все так, но не совсем функционал, связанный с функциями кеширования переехал в расширение APCu но это все равно не поможет автору, похоже что у него cli Alibek B.Разве то, что это REST, недостаточно?... 2+ недели уже прошло, а вопрос не решен?! варианты тебе накидали ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 10:00 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Дегтярев Евгений2+ недели уже прошло, а вопрос не решен?! Странный вывод. Если вопросом считать работу с сервисом, то он изначально был решен хранением данных в tmp-файле, а тут ( 21823276 ) я убедился, что это вполне нормальное решение. Все остальное обсуждение было просто обсуждением. Если вопросом считать «Может быть есть возможность хранить небольшие объемы данных в какой-нибудь shared-памяти?», то ответа на него не было, хотя про функции shmop_* я уже почитал. Что касается остальных вариантов, то они либо хуже, либо неприменимы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 10:21 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Alibek B.Если вопросом считать «Может быть есть возможность хранить небольшие объемы данных в какой-нибудь shared-памяти?», то ответа на него не былоmemcached значит не устроил ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 11:03 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Я просто не понял, в чем его выгода по сравнению с tmp-файлом в моем случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 12:12 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Мемкеш не лезет в файловую систему, данные хранятся в памяти. В этом смысле отчасти быстрее работает. Да и с серилизацией не надо заморачиваться, если массив хранить. Но есть и минус - перезагрузка memcached (или сервера целиком) приводит к потере данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 12:36 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Ну, на мой взгляд овчина выделки не стоит. Операционная система умеет вполне эффективно читать небольшие файлы. Возможно даже что она их сама кеширует. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 12:48 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
Ага, особенно, при небольшом количестве временных файлов и редкой записи. При записи, всё же, доступ к диску нужен гарантировано. Только кеширует, скорее, файловая система. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 12:56 |
|
Где можно хранить временные данные между сессиями?
|
|||
---|---|---|---|
#18+
vkleМемкеш не лезет в файловую систему, данные хранятся в памяти. В этом смысле отчасти быстрее работает. Да и с серилизацией не надо заморачиваться, если массив хранить. Но есть и минус - перезагрузка memcached (или сервера целиком) приводит к потере данных. ничего страшного Alibek B.Перезапуск сервиса не проблема - если токен не будет найден в Кеше, я его получу по новой. Но ставить сторонний софт не хотелось бы. если так тревожит сторонний софт - остаивить файл ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 15:56 |
|
|
start [/forum/topic.php?fid=23&fpage=16&tid=1459974]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 389ms |
0 / 0 |