Изменение таймаута сессионного кэша и cookie
Сессионный кэш (сессионные данные) - промежуточные данные для построения различных режимов, например, дерева объектов, аналитические отчеты. Для предотвращения «разбухания» баз кэша (nosql,sql), необходимо настроить удаление (устаревание) этих данных с помощью автоуборщика.
По умолчанию сессионный кэш и cookie настроены в конфигурационном файле appsettings.json
в режиме sliding, 8 часов. Если вы хотите изменить значения, выполните действия, указанные ниже.
Значения устаревания сессионного кэша и пользовательской сессии должны быть равны.
1. Откройте конфигурационный файл appsettings.Production.json
.
mcedit /opt/wsks-6.0.9_443/www/html/wsks_54430/appsettings.Production.json
2. Измените таймаут.
Таймауты должны быть меньше или равны таймауту в строке подключения redis/tarantool. Подробнее см. Настройка кэша.
Параметр кэша сессий ExpirationTimeout
задается в секундах, а параметр cookie ExpireTimeSpan
в формате часы:минуты:секунды.
Значение по умолчанию: 28800 секунд = 8 часов.
Значение в примере: 86400 секунд = 3 часа.
NoSQL + SQL
Настройки для NoSQL автоуборщика. Учитывая, что используется и SQL кэш, NoSQL автоуборщик будет работать вместе с SQL автоуборщиком.
"Authentication": {
"BuiltInJwtBearer": {
"SecurityKey": "P3pp3YTf30ys2UjCuZAggRCTA5jYMm1X"
},
"Cookie": {
"SlidingExpiration": true,
"ExpireTimeSpan": "03:00:00"
}
},
"SystemSettings": {
"SqlCache": "Data Source Type=PostgreSQL; Host=10.38.46.119; Port=5434; Database=web_cache02; User ID=wc_user02; Password=123; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=600",
"NoSqlCache": "redis: 10.38.46.144:6379, user=admin, password=1, expirationMode=sliding, expirationTimeout=86400",
"SessionStorage" : "nosql",
"SessionExpiration": "ExpirationMode=sliding, ExpirationTimeout=10800"
}
"Authentication": {
"BuiltInJwtBearer": {
"SecurityKey": "P3pp3YTf30ys2UjCuZAggRCTA5jYMm1X"
},
"Cookie": {
"SlidingExpiration": true,
"ExpireTimeSpan": "03:00:00"
}
},
"SystemSettings": {
"SqlCache": "Data Source Type=PostgreSQL; Host=10.38.46.119; Port=5434; Database=web_cache02; User ID=wc_user02; Password=123; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=600",
"NoSqlCache": "tarantool: admin:1@10.38.46.144:3301, expirationMode=sliding, expirationTimeout=86400",
"SessionStorage" : "nosql",
"SessionExpiration": "ExpirationMode=sliding, ExpirationTimeout=10800"
}
"Authentication": {
"BuiltInJwtBearer": {
"SecurityKey": "P3pp3YTf30ys2UjCuZAggRCTA5jYMm1X"
},
"Cookie": {
"SlidingExpiration": true,
"ExpireTimeSpan": "03:00:00"
}
},
"SystemSettings": {
"SqlCache": "Data Source Type=PostgreSQL; Host=10.38.46.119; Port=5434; Database=web_cache02; User ID=wc_user02; Password=123; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=600",
"NoSqlCache": "memory",
"SessionStorage" : "nosql",
"SessionExpiration": "ExpirationMode=sliding, ExpirationTimeout=10800"
}
SQL
Настройки для SQL автоуборщика, если не настроен NoSQL кэш.
"Authentication": {
"BuiltInJwtBearer": {
"SecurityKey": "P3pp3YTf30ys2UjCuZAggRCTA5jYMm1X"
},
"Cookie": {
"SlidingExpiration": true,
"ExpireTimeSpan": "03:00:00"
}
},
"SystemSettings": {
"SqlCache": "Data Source Type=PostgreSQL; Host=10.38.46.119; Port=5434; Database=web_cache02; User ID=wc_user02; Password=123; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=600",
"SessionStorage" : "sql",
"SessionExpiration": "ExpirationMode=sliding, ExpirationTimeout=10800"
}
"Authentication": {
"BuiltInJwtBearer": {
"SecurityKey": "P3pp3YTf30ys2UjCuZAggRCTA5jYMm1X"
},
"Cookie": {
"SlidingExpiration": true,
"ExpireTimeSpan": "03:00:00"
}
},
"SystemSettings": {
"SqlCache": "Data Source Type=SQLite; Data Source=.\\temp\\db\\wrk.db3",
"SessionStorage" : "sql",
"SessionExpiration": "ExpirationMode=sliding, ExpirationTimeout=10800"
}
Наименование | Описание |
---|---|
SessionStorage | Приоритет хранения сессионных данных (sql/nosql). |
SessionExpiration | Настройки устаревания сессионных данных. 1. ExpirationMode - режим устаревания сессионных данных. • none - кэш никогда не устаревает, данные остаются актуальными, пока не будут удалены вручную или сессия не завершится. • absolute - кэш устаревает через фиксированное время, заданное в ExpirationTimeout. (например, 30 минут после создания). • sliding - кэш устаревает, если к нему не обращались в течение заданного времени в ExpirationTimeout (например, 30 минут с последнего доступа).2. ExpirationTimeout - время жизни сессионных данных. Важно: время жизни сессионных данных должно быть равным значению настроек cookie |
3. Сохраните изменения и перезапустите контейнер.
Действие необходимо, чтобы изменения вступили в силу.
systemctl restart wsks-6.0.9_443
Альтернативно, можно перезапустить только само приложение с помощью команды:
bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430" -m "restart"