2013-04-11 105 views
2

我最近在我的rails應用程序中遇到了cookieOverflow異常。我GOOGLE了一下,發現這個答案是最有幫助的:用db在db中存儲會話

https://stackoverflow.com/a/9474262/169277

已實施存儲會話數據庫中,我試圖找出這種方法的弊端至今我看到周圍1200項之後在僅僅幾個小時內填充的會話表中。

什麼時候發生與數據庫的實際交互,只有在將數據寫入會話或?

這種增長而快,所以有沒有辦法清除從數據庫等老未使用的會話不是有一些日常cron作業什麼的。

我只是在尋找一些額外的信息對於這種做法,現在我想我應該把它和我的應用程序的變化邏輯。

回答

1

> Cookie中的4KB很多,所以更改您的應用程序可能不是一個壞主意。

也就是說,1200幾小時內似乎並不古怪。如果您擔心無限增長,則可以使用memcache或redis作爲緩存層來存儲Cookie而不是數據庫。這將讓你免於擔心數據庫的增長。不利的一面是,驅逐可能意味着你正在將人員排除在外。

所有這一切說,我們有一個數字,清理我們的數據庫表,而不是日常會話類似cron的工作,但它是類似的。無論如何,它們在晚上利用率低時運行。