pan*_*ang 0 ruby mysql ruby-on-rails redis
我想将信息从 redis 传输到 mysql。
一开始,我得到了redis的user_id和score。
info = $redis.zrevrange("some_info", 0, limit - 1, withscores: withscores)
Run Code Online (Sandbox Code Playgroud)
那么我需要处理这些日期:
total_info = info.each_slice(2).to_a.inject([]) do |sum, e|
sum << {
id: id,
name: name,
rank: rank,
score: score,
}
Run Code Online (Sandbox Code Playgroud)
total_info 是一个大小为 100000+ 的数组。
然后我需要插入total_info到mysql的记录。
我尝试创建一个循环来插入,但我认为这不是一个好主意。
如何制作?什么是最快的方法?
您可以在他的Fastest Version 中使用Active Record Import。
下面是一个例子:
columns = [ :id, :name, :rank, :score ]
values = []
infos.each do |info|
values << [info.id, info.name, info.rank, info.score]
end
Model.import columns, values, validate: false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1511 次 |
| 最近记录: |