前沿

在搜索引擎中,缓存被当做是不可缺少的部分,但是很多情况下,将缓存的实现过度依赖于分发服务器及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 入口,将此节点注释掉,并新增以下节点:
  1. <queryResultCache
  2. class="solr.MemcachedCache"
  3. memcachedHosts="192.168.0.100,192.168.0.101:1234,192.168.0.103"
  4. expTime="21600"
  5. defaultPort="11211"
  6. keyPrefix=""/>

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

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

view plaincopy

  1. name:  queryResultCache
  2. class:  org.apache.solr.search.MemcachedCache
  3. version:  1.0
  4. description:  MemcachedCache([192.168.1.109], defaultPort:11211, expTime:21600, keyPrefix:)
  5. stats:  lookups : 2
  6. hits : 0
  7. hitratio : 0.00
  8. inserts : 3
  9. evictions : 0
  10. size : 0
  11. warmupTime : 0
  12. cumulative_lookups : 2
  13. cumulative_hits : 0
  14. cumulative_hitratio : 0.00
  15. cumulative_inserts : 2
  16. cumulative_evictions : 0
  17. indexVersion : 0

参数注明

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

最新文章

  1. java网络编程,简单的客户端和服务器端
  2. 【LeetCode】#7 Reverse Integer
  3. case when then else end 用法
  4. WordPress插件开发实例教程 - 版权插件
  5. mysql 有索引没走索引 更新锁全表
  6. block的是发送信号的线程,又不是处理槽函数的线程
  7. 【HDOJ】3549 Flow Problem
  8. Libgdx环境搭建及介绍
  9. 雕爷:我眼中的O2O成长路径
  10. java实现对服务器的自动巡检邮件通知
  11. Norm 数据库操作竟然可以如此简单
  12. “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛题解&amp;&amp;源码【A,水,B,水,C,水,D,快速幂,E,优先队列,F,暴力,G,贪心+排序,H,STL乱搞,I,尼姆博弈,J,差分dp,K,二分+排序,L,矩阵快速幂,M,线段树区间更新+Lazy思想,N,超级快速幂+扩展欧里几德,O,BFS】
  13. ueditor编辑器使用总结
  14. template.compile()方法
  15. MySQL升级-5.6升级到5.7版本&amp;切换GTID模式
  16. 原生JS制作简易Tabs组件
  17. 行为型---命令模式(Command Pattern)
  18. MYSQL 开发总结
  19. 【LOJ#10002】喷水装置
  20. CentOS 安装 Docker CE

热门文章

  1. 3.15-3.21 hive项目实战
  2. 8、html的body内标签之fieldset标签和label标签
  3. POJ - 2376 Cleaning Shifts 贪心(最小区间覆盖)
  4. builtin_shaders-5.3.4f1学习-Unlit/Texture
  5. unity模型法线反转问题
  6. Ogre 简易角色Demo
  7. rn-splash-screen 启动页 ios
  8. 为VS中的括号添加虚线
  9. C++ 自定义结构体的Priority Queue
  10. QlikView入门