你们的请求量是真大
是的,如你所说,在没有搭建日志服务的场景下,该方案,可以用 20% 的时间,解决 80% 的问题,也只适用于机器 N 不太多的场景。 最终还是得用专业的日志服务。
是的,为了保证当前查询业务不受影响,通过重命名,将之前老的索引,暂作为冗余索引。 当唯一索引创建成功之后,再将冗余索引删除即可。
感谢提供思路,我会仔细参考和对比一下。
多谢大佬推荐,我同时也来看一下
谢谢 Rei 的建议,下一步专门搭建一个日志系统。
业务并发高的时候,redis 不能保证真正的去重复,
感谢补充
支持 Rei
推荐Ancestry
这个 Gem
Ancestry is a gem that allows the records of a Ruby on Rails ActiveRecord model to be organised as a tree structure
地址
然后又看了 ractor 的文档
从标红的地方来看,在同一个 ractor
内的线程因为有 Ractor-wide global lock
类似 GIL 锁 不能实现多核并发,但多个 ractor
之前是可以实现多核并发
文档中提及在 4 核心并行 处理的时候,性能是单核处理的 3.87 倍
def tarai(x, y, z) =
x <= y ? y : tarai(tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y))
require 'benchmark'
Benchmark.bm do |x|
# sequential version
x.report('seq'){ 4.times{ tarai(14, 7, 0) } }
# parallel version
x.report('par'){
4.times.map do
Ractor.new { tarai(14, 7, 0) }
end.each(&:take)
}
end
Benchmark result:
user system total real
seq 64.560736 0.001101 64.561837 ( 64.562194)
par 66.422010 0.015999 66.438009 ( 16.685797)
The result was measured on Ubuntu 20.04,
Intel(R) Core(TM) i7-6700 (4 cores, 8 hardware threads).
It shows that the parallel version is 3.87 times faster than the sequential version.
默认敏感词库的问题,1 万多条,有些还是不够规范,我刚将 8 相关的再次整理了一下,更新一下包即可。
irb(main):001:0> require 'sensitive'
=> true
irb(main):002:0> Sensitive.load_default
=> #<File:/Users/luolin/.rvm/gems/ruby-2.6.4/gems/sensitive-1.0.2/lib/../sensitives.txt>
irb(main):003:0> Sensitive.filter('8')
=> ""
对的,肉测不是办法,gem 先出发来让大家体验,我把单元测试也补上
@quakewang 非常感谢你的回复,inject
方法的使用,提升了整个算法的性能和代码的质量,我已经将代码合入,is_end
的结构也是冗余的。
我这边本地演示 对 up
过滤,不会命中关键词,请问你那边是否自己有添加过关键词呢?
irb(main):001:0> require 'sensitive'
=> true
irb(main):002:0> Sensitive.load_default
=> #<File:/Users/luolin/.rvm/gems/ruby-2.6.4/gems/sensitive-1.0.1/lib/../sensitives.txt>
irb(main):003:0> Sensitive.filter('up')
=> ""
@lihuazhang 非常感谢你提出的这一个问题,是算法逻辑上的一个缺陷,我已经修改,提交记录
请更新一下 Gem 最新版本 1.0.1
irb(main):002:0> Sensitive.load_default
=> #<File:/Users/luolin/.rvm/gems/ruby-2.6.4/gems/sensitive-1.0.1/lib/../sensitives.txt>
irb(main):003:0> Sensitive.filter('加油')
=> ""
irb(main):004:0> Sensitive.filter('恒温')
=> ""
也期待大家继续提出问题,或好的建议,意见,谢谢
工作原因,不能按时接送小孩子,所以得上离家近的私立学校,这就需要摇号了
你好,感谢你的反馈,能不能说一下场景
谢谢
就是,所以能够摇中理想的学校,还是很开心的
刚好这几天我们也在支持英国的一个朋友,做类似的事情,以小程序实现了一个海外华人互助的一个平台,后端用 Ruby On Rails + Grape + Grape-Entity
搭建,并用 swagger
生成在线文档,小程序端和后端的代码都开源了,可供参考交流
后端代码地址:
小程序端代码地址:
find_each 方法有一个参数 batch_size,默认为 1000,这个值是可以动态指定的 ,比如:
User.find_each(batch_size: 500). do |user|
end
@jisuanjixue 你好,感谢回复,目前该岗位需要面对面沟通需求,因此需要在固定地点办公
@u1440247613 哈哈,公司是做智慧养老平台,不过,如果家里面老人有养老需求的,公司是可以推荐很多优质的养老院
个人觉得,每天久坐的行业,坚持游泳,一定会有一个好身体,一周 2 次,每次一小时左右即可,本人亲身验证,头脑清醒,脖子不痛,腰不痛,也不会长胖。
是的,mina-unicorn 的 restart_unicorn 里面有一行就是设置的等待时间
def restart_unicorn
%{
#{duplicate_unicorn}
sleep #{fetch(:unicorn_restart_sleep_time)}; # in order to wait for the (old) pidfile to show up
if #{old_unicorn_is_running?}; then
#{unicorn_send_signal("QUIT", get_old_unicorn_pid)};
fi
}
end
服务器上面,再配置好 nginx 即可,请参考:
100M 内存,是楼主在压力测试接口中 故意申请的
def index
@a = '0' * 1024 * 1024 * 1000
end
支持 @andor_chen,感谢你们的翻译,马上天猫下单买一本。