与sqlite的Express.js会话

时间:2011-06-15 07:09:43

标签: sqlite session node.js express

我正在尝试使用Express.js设置轻量级应用程序。我想使用Sqlite3进行存储。

我需要某种会话管理并尝试使用Express指南文档中描述的会话管理模块(CoffeeScript)

g.app.configure -> 
  g.app.set 'views', "#{__dirname}/views"
  g.app.set 'view engine', 'jade'
  g.app.use g.express.bodyParser()
  g.app.use g.express.cookieParser()
  g.app.use g.express.session(secret:'cruel')
  g.app.use g.express.methodOverride()
  g.app.use g.app.router
  g.app.use g.express.static "#{__dirname}/public"

现在我想以某种方式将会话存储在sqlite3中或存储在项目路径中的文件中。

我找到的所有示例都使用不同类型的NoSql数据库。

任何人都可以了解在哪里找到其他会话商店模块,甚至是如何实现其中一个。

2 个答案:

答案 0 :(得分:3)

我认为这3个链接对您有用:

http://senchalabs.github.com/connect/middleware-session.html(位于页面底部)

https://github.com/senchalabs/connect/blob/master/lib/middleware/session/memory.js

(连接的会话的默认内存存储已内置)

https://github.com/senchalabs/connect/wiki(会话商店)

从Connect指南(Connect Session页面):

会话商店实施

每个会话存储必须实现以下方法

* .get(sid, callback)
* .set(sid, session, callback)
* .destroy(sid, callback)

推荐方法包括但不限于:

* .length(callback)
* .clear(callback)

有关示例实现,请查看connect-redis repo。

* param Object options
* returns Function

答案 1 :(得分:1)

  

我发现的所有示例都有所不同   各种NoSql数据库。

许多NoSQL数据库的好处在于它们非常容易安装。安装redis非常简单,可以让您的网站更快(在光盘备份的内存数据库中)......

  

任何人都可以了解到哪里   找到其他会话商店模块

我使用http://search.npmjs.org / http://github.com搜索找到了以下模块:

这是我发现的很快,但在进行更彻底的搜索时,我相信你应该能够找到更多会话实现。

  

甚至如何实施。

我认为您应该可以使用超市购物车,但您也可以使用此链接作为参考来实现您自己的商店: