明白了。谢谢。是改成这样
{bool: {
filter: {
{bool: {
must:[
{term: {order_id: order_id}},
],
should: [
{terms: {user_id: user_id}}
]
}
}
}
}
}
{filtered: {filter: {}} } => {bool: {filter:{}}} {filtered: {query:{}}} => {bool: {must: []}}
用 filter 可以 cache。但是我在本地,500w 数据,下面两种查询的速度是一样的。第一次比较慢,第二次之后就快了一倍
{
"query": {
"bool": {
"must": [
{"term": {"company_id":1}}
]
}
}
}
{
"query":{
"bool":{
"filter":{
"bool": {
"must": [
{"term": {
"company_id": 1
}}
]
}
}
}
}
}
好像没有区别
scrapy 配置几项就按照配置爬了,Ruby 也可以做到
嗯,是的。query changes 在 2.x 版本就已经有很多改变了,我重构的时候是直接看 5.0 大版本的 Breaking changes。看过 searchkick,项目中没使用,因为之前项目中已经封装了很多逻辑代码。以后的新项目,使用 searchkick 还是挺好的
公司自用日志管理 一般没什么必要主动想优化了,如果给客户用那就要想优化了,没有快只有更快。取代 MongoDB 和 HBASE 我觉得到不一定,各有优点。个人觉得 es 擅长做搜索层服务,而不是存储层服务。以后怎样就未知
validates_uniqueness_of
这个失效的问题 我遇到过,两个参数相同的请求相差几毫秒,竟然通过了 validates_uniqueness_of 的验证。后来我在数据库表加唯一索引,来避免重复记录的情况,还是相信数据库的性能足够强大
可以先考虑在前端用户点击层,先进行防止短时间快速重复点击的过滤。 然后,数据库加唯一索引其实是挺好的操作,不喜欢报错异常可以捕捉异常。 使用悲观锁会降低数据库并发能力,还不如唯一索引报错 赞同楼上说的,after 这种操作习惯性多了之后,基本就“失控了” 能用别的方法解决问题的,我不会首选用锁的机制。除了这显然用锁是最好的情况
肉翻去澳洲
票价一般好像挺高的
rails guide
你们的字幕翻译在翻译 哈登的一集冲重量的视频的时候,把磅和千克混淆了。哈登 deadlift(没记错的话)是 100+kg,结果中文字幕是 100+ 磅。还备注了 kg 和磅之间的单位转换。知道重量的人,都知道这两个单位的区别了。或者看视频中杠铃两边是分别 5 片 20.4kg 的片子,字幕翻译也不可能翻成 100+ 磅吧。不知道哈登看了会不会哭死,希望 change 避免这种翻译错误
《The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications》
sendcloud 还提供了 API 让你用 API 的方式调。如果 量不大的,还是很方便使用
明白了。根据具体业务需求调整。
明白了。真正的 worker 处理,还是 sneaker 或 sidekiq 中处理吗?还是直接实现回调接口,就没 sneaker 或 sidekiq 什么事了
请问 是解决了每个服务带一套消息处理的机制 还是 每个服务都需要一个消息处理进程?消息处理机制是由 RabbitMQ 调度,不知是否理解错
谢谢
原来如此
OK
会不会有墙?
正在看《RabbitMQ In Action》。收藏了
是的 普通的实例变量不会有问题。我在想要不要把类方法改为实例方法再使用实例变量
类方法中使用实例变量会有问题。不过不是在 sidekiq 中,然后我放弃使用了
nice~
用一台做负载均衡 服务器 就变会出现单点故障的情况
建议补一补 GIL
不是。SQL 语句会告诉你全部。User.where(state: 5).last 数据库只查了一条记录,只取了一条记录。在 rails c 里的执行和真正代码中的执行是不一样的,rails c 中执行你拆开的那两句就是取了全部再去最后一条,因为在 rails c 中会打印取值,就没有延迟执行了。在真正的代码环境会有延迟执行
是 Rei
其实就是 raise 然后在 rescue_from 回这个异常并且做 response 的处理 和 PHP die 的关系是?
Golang or Elixir
重温编译原理