在两个控制器操作之间存储数据的最佳方法是什么?
示例:
["2907", "2334", "2309",.... N]
我在第一步确认创建它,然后转到另一个控制器操作的第二步。 我将所有数组存储在会话中的操作之间,如session[:posts_ids] = params[:posts_ids]
和flash[:date_day] ||= params[:date_day]
。我认为它不适合真正的大数据阵列。可能是将它存储在redis中的最佳方式吗?
答案 0 :(得分:4)
这主要是基于意见的,但我认为你最好的两个选择是:
会话大小受基础策略的限制,而不是一般会话的硬限制。 CookieStore是默认设置,允许约4k的数据,因为浏览器cookie仅限于该大小。如果使用数据库支持的会话,则仅受数据库服务器的限制。
您还应该记住,使用会话在请求之间存储数据并不是非常RESTful。