`
文章列表

搜索场景和策略

最近一直在思考搜索是什么? 可以总结不同的场景搜索的策略不同   场景一: 数据不经常变化 关键词有规律   可以考虑采用缓存进行处理(mc redis ...) 如果数据量大的话需要考虑分布式处理,可能采取的方式hash    场景二:一次请求需要查询多张表      这时候我们需要考虑跨表查询改成单表查询,还要增加上索引的优化,      之前遇到的机票搜索就在应用层面做了优化,一次报价搜索来源不同的代理商报价数据,我们发现用户的搜索只是北京-上海-日期这种格式,所以只要保证数据在一张表就可以了,我们增加了搜索库,保证搜索和代理商后台管理是隔离的,之后采用路由的方式同步到搜 ...
从根本上防止SQL注入,意思是在不改动现有系统任何代码的前提下,防止SQL注入。办法就是 ModSecurity: Open Source Web Application Firewall不过这个方案比较狠,很可能错杀不是攻击的请求,不过对于大多数网站,很难想象用户正常输入会包含一个能够正则匹配SQL语句的请求。
  1. 查看mysql(>=5.5)健康指标,我们可以直接通过mysql提供的接口获取相关指标  查看数据库整体的健康指标  show status  查看innodb 存储类型的表相关健康指标 show engine innodb status  如果想更进一步查看健康指标也许需要通过mysql插件mysqlreport来进行查看 详细内容请移步到mysqlreport。 2.  查看慢查询的状态  可以直接通过  explain  select  *  from  table_name  [any  code]  进行查看  也可以通过专业的工 ...
一般Java文件编码格式是UTF-8的。以下以默认GBK改为UTF-8为例。  1.改变整个工作空间的编码格式,这样以后新建的文件也是新设置的编码格式。      eclipse->window->preferences->General->workspaceTypes->Other->UTF-8->OK  汉化版:eclipse->窗口->首选项->常规->工作空间->其它->UTF-8->确定    2.项目范围的设置编码格式  Project->Properties->Genera ...
VMware10.1  下载地址:http://download3.vmware.com/software/wkst/file/VMware-workstation-full-10.0.1-1379776.exe  注册机下载(V10,V10.1版本通用)附件下载 vm10注册机.zip     CentOS 6.5: 下载地址:http://mirrors.163.com/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso 只需要DVD1 VMware10安装CentOS 6.5: 参考:http://jingyan ...
1.  java中有几种方法可以实现一个线程?    答:两种方法:  实现Runnable的 run接口或者继承 Thread类 重写run方法2.  如何停止一个正在运行的线程?    答:引入共享变量,通过修改线程的变量值使线程安全停止运行;stop和 interrupt 不安全 3.  notify()和notifyAll()有什么区别?     答:notify只是针对对象锁监视的随机的单个唤醒线程  notifyall可以针对对象锁监视的所有线程进行唤醒操作      为什么需要notify?因为对象执行了于wait方法.什么执行wait方法?同步的需要      参考网址:ht ...
    今天兴致勃勃登录contos服务器查看应用运行log信息,发现log中频繁出现 InetAddress.getLocalHost()  异常信息如下: java.net.UnknownHostException: munan: munan: 未知的名称或服务 at java.net.InetAddress.getLocalHost(InetAddress.java:1438) at weibo4j.http.HttpClient.httpRequest(HttpClient.java:380) at weibo4j.http.HttpClient.post(HttpCl ...
hibernate的自动建表功能可以给我们提供很大的便利,本人参考网络资料及编码实践整理如下:1:只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表<propertyname="hibernate.hbm2ddl.auto">update</property>  update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列(并且表中原来的数据不会丢失)(注:若表里有多余的列,则不会删除)。若对应类型不一致,则不会修改表的字段的类型,操作(如 ...
windows : set JAVA_OPTS=-Xms256m -Xmx512m linux:JAVA_OPTS='-Xms256m -Xmx512m'
      最近项目开发过程中需要将oralce 11G 数据 导入到oralce 10G中,之前的exp/imp命令的使用会提示版本不兼容问题,后来发现expdp/impdp命令可以解决此问题。 创建一个Directory对象,并授予用户读写权限 create directory MPI_MDB as '/home/oracle/backup'; grant read,write on directory MPI_MDB to username 从oralce 11G导出数据(指定版本) expdp ihoo/ihoo@orcl schemas=ihoo dumpfi ...
        今天在查看网络抓取运行日志时候发现腾讯微博数据获取出现异常,进行跟踪之后发现之前的模拟登陆出现了问题,确切的说是腾讯进行部分代码的调整导致登陆失败。解决思路如下: 1. 查看一下请求地址及参数是否发生变化,如下图:  结论:action、login_sig这两个参数导致登陆失败 2. 分析action、login_sig参数的来源  通过http://jsbeautifier.org/在线格式化工具进行格式化,最终的文件:h_login_11.rar  找到action参数的处理逻辑,仅仅是记录用户键盘行为,不会对登陆有影响,对应就只剩下login_sig这个参数了, ...
      最近在做一个基于多线程的网络抓取,运行过程中总是假死,为此我给线程增加了超时安全退出,但是仍旧没有解决这个问题。后来想了一下,应该有相关的JVM问题定位工具,搜索了一下相关内容,发现jconsole可以考虑尝试一下。 1. jconsole 是什么?      从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。 2. jconsole 如何启 ...
//获取请求参数并创建svg文件 FileUtils.writeStringToFile(new File("c://pp//barChart.svg"), request.getParameter("svg"),"utf-8"); //转换文件 svg-to-pdf SVGConverter c = new SVGConverter(); c.setSources(new String[]{"c://pp//barChart.svg"}); c.setDst(new java.io.File("c:// ...
Global site tag (gtag.js) - Google Analytics