Advertisement

apa itu connect-session-sequelize di node js

 

connect-session-sequelize adalah middleware Node.js yang digunakan untuk menyimpan sesi (session) pada database menggunakan Sequelize sebagai ORM (Object-Relational Mapping). Middleware ini dirancang untuk digunakan bersama dengan pustaka sesi seperti express-session. Dengan menggunakan connect-session-sequelize, Anda dapat menyimpan data sesi ke dalam basis data relasional seperti MySQL, PostgreSQL, SQLite, atau database lain yang didukung oleh Sequelize.

Kegunaan

Middleware ini berguna dalam aplikasi yang membutuhkan penyimpanan sesi yang persisten, terutama jika:

  • Anda ingin membagikan sesi di antara beberapa instans aplikasi.
  • Anda memerlukan toleransi terhadap kehilangan data sesi saat server restart.
  • Anda ingin memanfaatkan database relasional untuk manajemen sesi.

Fitur Utama

  • Mendukung penyimpanan sesi di database relasional.
  • Menghapus sesi yang sudah kadaluarsa secara otomatis.
  • Kompatibel dengan pustaka express-session.

Instalasi

Untuk menggunakan connect-session-sequelize, Anda perlu menginstalnya terlebih dahulu:

 npm install express-session connect-session-sequelize sequelize

Contoh Penggunaan

Berikut adalah contoh sederhana integrasi connect-session-sequelize dengan express-session:

 const express = require('express');
const session = require('express-session');
const Sequelize = require('sequelize');
const SequelizeStore = require('connect-session-sequelize')(session.Store);

// Membuat koneksi ke database
const sequelize = new Sequelize('database', 'username', 'password', {
  dialect: 'sqlite',
  storage: './database.sqlite',
});

// Inisialisasi Express
const app = express();

// Konfigurasi sesi
app.use(session({
  secret: 'your-secret-key',
  store: new SequelizeStore({
    db: sequelize,
  }),
  resave: false,
  saveUninitialized: false,
  cookie: {
    maxAge: 60000, // 1 menit
  },
}));

// Sinkronisasi tabel sesi
sequelize.sync();

// Route sederhana
app.get('/', (req, res) => {
  if (req.session.views) {
    req.session.views++;
    res.send(`Anda telah mengunjungi halaman ini ${req.session.views} kali.`);
  } else {
    req.session.views = 1;
    res.send('Selamat datang! Ini adalah kunjungan pertama Anda.');
  }
});

// Menjalankan server
app.listen(3000, () => {
  console.log('Server berjalan pada http://localhost:3000');
});

 Penjelasan Contoh

  1. Database Setup: Koneksi ke database dibuat menggunakan Sequelize.
  2. Sequelize Store: SequelizeStore digunakan sebagai penyimpan sesi.
  3. Sinkronisasi: Tabel sesi dibuat di database dengan sequelize.sync().
  4. Sesi: Data sesi disimpan dalam database dan dapat digunakan di berbagai endpoint.

 Bahan belajar lainnya : https://www.npmjs.com/package/connect-session-sequelize


Post a Comment

0 Comments