Skip to content

Изменение таймаута сессионного кэша и cookie

Сессионный кэш (сессионные данные) - промежуточные данные для построения различных режимов, например, дерева объектов, аналитические отчеты. Для предотвращения «разбухания» баз кэша (nosql,sql), необходимо настроить удаление (устаревание) этих данных с помощью автоуборщика.

По умолчанию сессионный кэш и cookie настроены в конфигурационном файле appsettings.json в режиме sliding, 8 часов. Если вы хотите изменить значения, выполните действия, указанные ниже.

Значения устаревания сессионного кэша и пользовательской сессии должны быть равны.

1. Откройте конфигурационный файл appsettings.Production.json.


bash
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 автоуборщиком.

json
  "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"
 }
json
  "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"
 }
json
  "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 кэш.

json
  "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"
 }
json
  "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. Сохраните изменения и перезапустите контейнер.

Действие необходимо, чтобы изменения вступили в силу.

bash
systemctl restart wsks-6.0.9_443

Альтернативно, можно перезапустить только само приложение с помощью команды:

bash
bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430"  -m "restart"

© 2003—2026 ООО «Кейсистемс». Все права защищены.