使用memcached缓存 替代solr中的LRUCache缓存

来源:互联网 发布:淘宝店怎么看订单 编辑:程序博客网 时间:2024/06/04 23:23

前沿

        在搜索引擎中,缓存被当做是不可缺少的部分,但是很多情况下,将缓存的实现过度依赖于分发服务器及webserver会很大程度上加重webserver的负担,具体表现就是经常性的假死,拒绝服务,因此为了解放前端转发服务器,我们将使用solr + memcache后端搭档组合实现缓存。

  前期准备条件:

点击下面的下载地址,将memcache必备的工具包和java类下载至本地

 

memcached-2.2.jar

 

spy-2.4.jar

 

下载地址:

  http://solr-side.googlecode.com/files/solr-memcache.zip

 

   操作步骤:

 

  • 将solr-memcache.zip解压到一个文件夹中,打开文件夹
  • 将solr-memcache文件夹下lib文件夹中的memcached-2.2.jar 和 spy-2.4.jar 剪切到solr项目中的lib文件夹下,并做好相关引用。
  • 将这个solr-memcahe文件夹中  src/main/java/org/apache/solr/search 中的 MemcachedCache.java 文件放至solr项目中指定的包的位置 :  org.apache.solr.search
  •  在solr项目中 org.apache.solr.search 找到DocSet.java
  • 使得 该文件中的 DocSetBase 类 实现 Serializable 接口以支持序列化。
  • 修改solrconfig.xml  文件,找到 queryresultCache 入口,将此节点注释掉,并新增以下节点:

 

 

      重启SOLR,打开solr的状态展示页面,看之前的LRUCache是否被memcacheCache替换掉

 

 http://192.168.1.109:8080/solr/novel/admin/stats.jsp 

 

 

   

 

 

 

    参数注明

 

 

  •     memcachedHosts:memcached服务器IP ,多个中间用“,”号隔开
  •     expTime:  失效时间  (单位:秒)
  •     defaultPort :memcached使用端口号

 

 

原创粉丝点击