Rails启用的一些服务

每次开始写代码的时候,都先要开启一些服务,比如在console中运行

:~$ redis-server

:~$ bundle exec sidekiq

:~$ rake sunspot:solr:start

:~$ rails server

这些服务的作用是什么,结合资料写下自己的理解。

1.Redis是一个开源的,先进的key-value存储。

它通常被称为数据结构服务器,因为键可以包含字符串、哈希、链表、集合和有序集合。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

2.Sidekiq就是一个用ruby实现的,底层使用redis,的一个异步队列。

在高并发的场景下,使用异步队列可以解决慢io阻塞的问题,当用户请求到达时,先把消息塞在队列中,然后快速返回, 后台任务再从队列中取出消息慢慢处理。

3.Solr

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

在rails中用solr 可以在console中运行

 rake sunspot:solr:start

solr能够提高搜索速度,需要建立索引然后搜索。在model里面设定好需要搜索的字段名和类型然后搜索的时候利用返回的那些id 进行搜索。

由于写到一半,笔记本突然坏掉了,手机不方便帖代码,就不贴例子了。

写这一篇的重点是想说,如果改了的代码是用到sidekiq 和 solr 服务的,一定要重启一下服务,重新建一下索引!! 我已经在这两方面各死两次,觉得代码写的没问题,搜索却出现问题了,首先考虑下是不是用了solr 改了数据却没有重建索引。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,947评论 18 139
  • http://geek.csdn.net/news/detail/210469http://www.36dsj.c...
    Albert陈凯阅读 5,229评论 1 21
  • 这个吊顶不简单,这个吊顶有生命时代吊顶会思考。 时代1+1全屋吊顶一直在思考,什么样的吊顶能够被人们接受、喜爱。思...
    百步亭长阅读 200评论 0 0
  • 维生素A 来源:肝,肉类,蛋黄,乳制品,鱼肝油 缺乏:夜盲症,干眼病 过度:头疼,恶心,共济失调,肝细胞损 ...
    很宅很宅的一只虫阅读 220评论 0 0
  • 单曲循环着一首歌,旋风十一人插曲:奔跑在孤傲的路上,不是因为我要写这个电视剧的什么什么,也不是这个歌给了我什么感想...
    土豆挤阅读 719评论 0 0