Подтвердить что ты не робот

Надлежащая конфигурация для хранилища сеансов Node с Redis Cloud и Heroku

Непонятно, какие правильные параметры конфигурации использовать в ситуации использования Redis Cloud и Heroku и не могут найти действующий пример онлайн.

Вот мой текущий код:

const express = require('express')
const session = require('express-session')
const RedisStore = require('connect-redis')(session);
...
const server = express()

server.use(bodyParser.json())
server.use(bodyParser.urlencoded({ extended: false }))

server.use(cookieParser())

server.use(session({
  secret: token_secret,
  // create new redis store.
  store: new RedisStore({ url: 'redis://rediscloud:[email protected]:11111'}),
  resave: true,
  saveUninitialized: true
}));

Должен ли я иметь resave и saveUnitialized установить true или false в случае Redis Cloud и Heroku в качестве хранилища сеансов (с использованием экспресс-сессии)?

Кроме того, влияет ли cookieParser на сеанс и должен ли он быть там? Или это отдельный и только для анализа cookie, который поступает от клиента, и не связан с хранилищем на стороне сервера с Redis? Кроме того, должен ли парсер cookie иметь секрет, переданный в функцию?

И, наконец, должен ли bodyParser до или после server.use(session), и должен ли urlencoded extended быть установленным true или false?

4b9b3361

Ответ 1

Отпустите по частям, как сказал Джек Потрошитель...

Непонятно, какие правильные параметры конфигурации использовать в ситуации использования Redis Cloud и Heroku, и не может найти действующий пример онлайн.

RedisCloud на Heroku (Node Экспресс-пример) @GitHub

Если у меня есть resave и saveUnitialized, установите true или false в случай Redis Cloud и Heroku в качестве хранилища сеансов (используя экспресс-сессии)?

app.use(expressSession({resave: false, saveUninitialized: false})) уменьшает количество обращений к хранилищу сеансов. Это выгодно для аппаратных ресурсов и производительности (обычно лучше установить их на false).

Кроме того, cookieParser влияет на сеанс и должен быть есть?

Не более: express-session промежуточное программное обеспечение, используемое для запроса cookie-parser, (но текущая версия express-session читает/пишет файлы cookie напрямую).

И, наконец, должен ли BodyParser прибыть до или после server.use(сессия)

Связующее ПО body-parser анализирует тела входящих HTTP-запросов. Заполнение свойства req.body, которое затем доступно на ваших маршрутах и ​​промежуточных продуктах. Таким образом, порядок не влияет на поведение.

и при расширении urlencoded будет установлено значение true или ложь?

Синтаксические анализаторы, которые вам понадобятся, зависят от типов запросов, с которыми вам приходится иметь дело.

Разница в отношении extended: false и extended: true уже объясняется в этом ответе.