如何清除 Rails 会话表 [英] How to clear rails sessions table
本文介绍了如何清除 Rails 会话表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用活动记录存储作为 Rails 会话存储.
I use active record store for rails sessions store.
在很短的时间内,sessions
表的大小增加了很多.这些会话行在一段时间后如何转储.还是应该每 24 小时手动清除一次?
Over just a short time, the size of sessions
table has increased a lot. How are these session rows dumped after a certain period of time. Or should I manually clear them once in 24 hours?
推荐答案
一篇关于您的问题的好博文:http://blog.brightbox.co.uk/posts/clearing-out-rails-sessions
A good blog post about your issue : http://blog.brightbox.co.uk/posts/clearing-out-rails-sessions
解决方案是创建一个自定义的 rake 任务:
The solution is to create a custom rake task:
task :clear_expired_sessions => :environment do
sql = 'DELETE FROM sessions WHERE updated_at < DATE_SUB(NOW(), INTERVAL 1 DAY);'
ActiveRecord::Base.connection.execute(sql)
end
...并每天通过 cron 作业运行它.
... and run it every day with a cron job.
这篇关于如何清除 Rails 会话表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文