Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Где можно хранить временные данные между сессиями? / 20 сообщений из 20, страница 1 из 1
02.03.2019, 09:32
    #39781308
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Есть некий REST-сервис, работающий через JSON.
Для работы с сервисом необходимо авторизоваться, после успешной авторизации сервис выдает токен, который должен указываться во всех последующих запросах. Токен действует несколько часов. Токен выдается довольно долго (1-2 секунды, иногда более 5 секунд), поэтому есть очень большое желание по возможности использовать токен, который уже был получен.
Какие есть возможности для его промежуточного хранения?
Самое простое это файловая система (в /tmp или в www). В принципе вполне нормальное решение, но может быть есть что-то лучше?
Можно хранить в БД, но это неудобно по организационным причинам.
Может быть есть возможность хранить небольшие объемы данных в какой-нибудь shared-памяти?
...
Рейтинг: 0 / 0
02.03.2019, 09:33
    #39781309
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Забыл обозначить — с сервисом работает PHP-скрипт (автономно вызываемый по расписанию или по событию).
...
Рейтинг: 0 / 0
02.03.2019, 10:44
    #39781316
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Нашел похожий вопрос:
https://stackoverflow.com/questions/10868696/store-php-variables-in-memory-between-script-executions
Исходя из ответов остаются два варианта — файл или APC.
Но все же теме более 7 лет, может быть с тех пор появилось что-то новое?
...
Рейтинг: 0 / 0
02.03.2019, 10:48
    #39781317
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Alibek B.Самое простое это файловая система (в /tmp или в www). В принципе вполне нормальное решение, но может быть есть что-то лучше?
Можно хранить в БД, но это неудобно по организационным причинам.И то и другое вполне нормальные решения.
Есть ещё memcache, это своего рода простейшая БД в памяти. Однако, не без недостатков. Данные пропадают полностью уже при перезапуске сервиса.
...
Рейтинг: 0 / 0
02.03.2019, 10:50
    #39781318
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Перезапуск сервиса не проблема - если токен не будет найден в Кеше, я его получу по новой. Но ставить сторонний софт не хотелось бы.
...
Рейтинг: 0 / 0
02.03.2019, 10:52
    #39781319
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Alibek B.Исходя из ответов остаются два варианта — файл или APC.Немножко изменилось. Семь лет прошло ж. Открываем мануал: http://php.net/manual/ru/intro.apc.php Внимание

Это расширение считается неподдерживаемым и мертвым.
...
Рейтинг: 0 / 0
02.03.2019, 11:05
    #39781321
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Alibek B.ставить сторонний софт не хотелось быНередко на серверах бывает SQLITE, простая СУБД с однопользовательским доступом. Последнее накладывает заметное ограничение. Расширение pdo-sqlite для доступа.
...
Рейтинг: 0 / 0
02.03.2019, 11:50
    #39781329
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Alibek B.Какие есть возможности для его промежуточного хранения?
Самое простое это файловая система (в /tmp или в www). В принципе вполне нормальное решение, но может быть есть что-то лучше?
например memcached
...
Рейтинг: 0 / 0
07.03.2019, 14:22
    #39783564
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Alibek B.Забыл обозначить — с сервисом работает PHP-скрипт (автономно вызываемый по расписанию или по событию).
CURL + COOKIES?
https://stackoverflow.com/questions/15995919/how-to-use-curl-to-send-cookies
...
Рейтинг: 0 / 0
07.03.2019, 14:28
    #39783568
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Вею-сервис нужные заголовки возвращает не как cookies, то есть они автоматически не сохраняться.
А если их сохранять вручную, то это ничем не отличается от сохранения в файл.
...
Рейтинг: 0 / 0
18.03.2019, 19:15
    #39788030
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Alibek B.Вею-сервис нужные заголовки возвращает не как cookies, то есть они автоматически не сохраняться.
А если их сохранять вручную, то это ничем не отличается от сохранения в файл.
Сессии, memcached.
Ты ж не озвучил, как конкретно ты с сервисом работаешь, а значит и ответ будет как в анекдоте про аспиранта и профессора - "тогда сам ищи".
...
Рейтинг: 0 / 0
18.03.2019, 21:26
    #39788092
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Разве то, что это REST, недостаточно?
Я отправляю HTTP-запросы на сервис, получаю ответы.
Для успешного выполнения в запросе нужно передавать токен.
Токен можно получать не на каждый запрос, его можно (и нужно) получить и использовать в течение всего срока действия.
Если говорить конкретно, это протокол Атол Онлайн версии 4.
...
Рейтинг: 0 / 0
19.03.2019, 10:00
    #39788200
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
vkleAlibek B.Исходя из ответов остаются два варианта — файл или APC.Немножко изменилось. Семь лет прошло ж. Открываем мануал: http://php.net/manual/ru/intro.apc.php Внимание

Это расширение считается неподдерживаемым и мертвым.
все так, но не совсем
функционал, связанный с функциями кеширования переехал в расширение APCu
но это все равно не поможет автору, похоже что у него cli


Alibek B.Разве то, что это REST, недостаточно?...
2+ недели уже прошло, а вопрос не решен?!
варианты тебе накидали
...
Рейтинг: 0 / 0
19.03.2019, 10:21
    #39788216
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Дегтярев Евгений2+ недели уже прошло, а вопрос не решен?!
Странный вывод. Если вопросом считать работу с сервисом, то он изначально был решен хранением данных в tmp-файле, а тут ( 21823276 ) я убедился, что это вполне нормальное решение. Все остальное обсуждение было просто обсуждением.
Если вопросом считать «Может быть есть возможность хранить небольшие объемы данных в какой-нибудь shared-памяти?», то ответа на него не было, хотя про функции shmop_* я уже почитал.
Что касается остальных вариантов, то они либо хуже, либо неприменимы.
...
Рейтинг: 0 / 0
19.03.2019, 11:03
    #39788250
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Alibek B.Если вопросом считать «Может быть есть возможность хранить небольшие объемы данных в какой-нибудь shared-памяти?», то ответа на него не былоmemcached значит не устроил
...
Рейтинг: 0 / 0
19.03.2019, 12:12
    #39788318
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Я просто не понял, в чем его выгода по сравнению с tmp-файлом в моем случае.
...
Рейтинг: 0 / 0
19.03.2019, 12:36
    #39788338
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Мемкеш не лезет в файловую систему, данные хранятся в памяти. В этом смысле отчасти быстрее работает. Да и с серилизацией не надо заморачиваться, если массив хранить.
Но есть и минус - перезагрузка memcached (или сервера целиком) приводит к потере данных.
...
Рейтинг: 0 / 0
19.03.2019, 12:48
    #39788350
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Ну, на мой взгляд овчина выделки не стоит.
Операционная система умеет вполне эффективно читать небольшие файлы.
Возможно даже что она их сама кеширует.
...
Рейтинг: 0 / 0
19.03.2019, 12:56
    #39788358
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
Ага, особенно, при небольшом количестве временных файлов и редкой записи. При записи, всё же, доступ к диску нужен гарантировано.
Только кеширует, скорее, файловая система.
...
Рейтинг: 0 / 0
19.03.2019, 15:56
    #39788525
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно хранить временные данные между сессиями?
vkleМемкеш не лезет в файловую систему, данные хранятся в памяти. В этом смысле отчасти быстрее работает. Да и с серилизацией не надо заморачиваться, если массив хранить.
Но есть и минус - перезагрузка memcached (или сервера целиком) приводит к потере данных.
ничего страшного
Alibek B.Перезапуск сервиса не проблема - если токен не будет найден в Кеше, я его получу по новой. Но ставить сторонний софт не хотелось бы.
если так тревожит сторонний софт - остаивить файл
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Где можно хранить временные данные между сессиями? / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]