我正在研究用elasticsearchreplacememcached。 基本上,我需要减less我的软件堆栈,因为我将使用弹性search,我正在考虑创build一个索引,将作为一般的caching,我将存储各种项目。
有没有办法build立这样一个“通用的桶”,可以容纳不同的项目没有弹性的抱怨? 从目前为止我所看到的,当你第一次存储一个项目时,弹性自动为每个键创build一个types。 如果您尝试保存一个恰好具有已经映射的键弹性的不同项目,则这可能会导致麻烦,其中具有不同的值。
任何方式来完成上述?
问候
Elasticsearch是一种search和索引types的数据库,为search和分析而构build和优化,而不是用于caching。
对于caching服务器,您可以使用Memcached。 但是现在还有其他的select,比如Redis( Key-Value数据库 ),它的速度更快,支持更复杂的解决scheme。 Carl Zulauf做了一个很好的工作来描述Redis和Memcached之间在计算器上已经存在的区别。
尽piperemyseroos的回答是绝对正确的,但我认为ElasticSearch可以很好地替代caching服务器提供的一些function。
例如,想象使用es作为重点放在CRUD(和search)上的Web应用程序的读访问层。 Es为数据库中保存的数据提供了一个快速的REST API,这些数据只是用于读取数据 – 用es作为数据库的caching。 你会加载数据库,通过一个优雅的JSON REST API来获得令人难以置信的快速访问,你不必自己构build。
这里要考虑的一些事情是:
实际上,我们刚刚使用elasticsearch-transport-warebuild立了这样一个应用程序,到目前为止它对我们来说是非常棒的。