是否有可能实现与arangodb的PHP会话处理程序

时间:2014-02-24 08:19:25

标签: php session arangodb

我几天前在官方的arangodb网站上发布了我的问题,但没有运气没有人回答。所以我来到这里以下是我的问题:

只是想知道如果使用arangoDb作为php sessionHandler,我怎样才能删除过期的会话数据!

如果使用mogodb或mysql存储会话数据,我们可以使用这样的语句来删除过期的数据:db.session.remove({expire:{$ gt:}}) 或者sql:从tbl_session中删除expire<:expire

我只是想知道如何在arangodb中实现这一点。 :)

2 个答案:

答案 0 :(得分:3)

我们还不支持修改AQL。 所以你需要执行一些代码:

var q = db._query("FOR s in session filter s.expire < 1393231738788 return s");
while (q.hasNext()) {
  db.session.remove(q.next());
}

答案 1 :(得分:1)

在ArangoDB 2.2之前,mchacki的回答是正确的。

从2.2开始,我们确实修改了查询,因此我们数据库的新查询将如下所示:

FOR s IN sessions
  FILTER s.expire < DATE_NOW()-86400000
  REMOVE s IN sessions

通过此示例,将删除一天的会话。