日期:2014-05-17  浏览次数:20959 次

有几个技术难点想请教一下各位。
1.现在我们系统想做优化首页解决就是数据库查询搜索这点有时候回很慢。想知道有什么方法可以解决一下不用数据库搜索。我网上看了一下可以用开源的lucence。不知道有谁做过有这方便的经验不。可不可以用lucence这样做?查询的时候不经过数据库直接通过索引数据库来搜索显示到界面上面。
2.有没有一个开源的并且好用的消息队列类似于IBM WebSphere MQ简称mq。可以推荐一下的。
3.就是做一个大附件包括视频(基本超过50M)同步的时候会报错而且也很慢。目前简单的是采用webservice传输然后进行同步的不知道有没有好的技术可以推荐一下啊。
怎么说了希望大家能够帮下我。感激不尽啊。
------解决方案--------------------
activeMq就挺好。不过你数据库慢,这些都不是解决知道。还是应该从软件和硬件入手考虑
------解决方案--------------------
lucene在全文检索方面有优势,如果只是采用精确查询的话没必要用lucene。
------解决方案--------------------
nosql 尝试呢。不
------解决方案--------------------
只是精确查询的可以在数据库相应的字段上建索引,一般就够用了,数据库我了解的不深,应该有很多优化方法,可以去网上查查,或者问问这方面的牛人。
如果涉及到模糊查询或全文检索等复杂的查询,数据库索引可能就不够用了,这样可以考虑用lucene,这个挺好用的速度也快。
------解决方案--------------------
问题一、
    1.lucene是一个搜索引擎,跟你的问题不搭边,它主要是解决网站“信息孤岛”的问题;
    2.首页查询多,频繁的问题;
         建议你使用缓存;具体思路如下:
       i、将访问首页时,发送的信息存入容器(application)中;
       ii、以后再访问首页,直接从容器(application)中获取发送;
       iii、首页更新,写一个任务,定时更新容器(application)中首页信息;更新时最好加锁,防止数据错乱;

问题二、WebSphere MQ未涉及过,不清楚
问题三、没有看懂你说的问题

------解决方案--------------------
lucene完全可以应用在楼主的第一点场景里。。查询效率很快,用起来也很方便。。推荐下。
------解决方案--------------------
1.现在我们系统想做优化首页
---
针对这个问题,是否可以考虑一下首页的内容是不是可以静态化一下,不能静态化的是否可以考虑缓存,一般来说首页的需求都不太会是实时的,即使是实时应该也不会有太多的数据,可以从业务方面进行一下数据分析,然后再决定如何处理。当然,数据库的优化肯定也是要做的。
------解决方案--------------------
查询那个lucense可以的,还可以去了解下页面静态化
------解决方案--------------------
对于解决数据库查询的瓶颈,主要从几个方面看:
1.数据缓存,对于很多不经常变动的数据可以使用memcached等框架进行缓存,实际上就是长时间驻守内存,数据访问的时候会先访问内存,查询是否有该数据的缓存,如果没有再查询数据库,比直接查询数据库要快的多。而且memcached等东东也支持分布式,好多大型应用的后面都是由memcached缓存集群来支撑。
2.数据库查询的优化,比如说索引的创建,sql的书写等等,这些就要看实际情况了。
3.lucene也可以来解决一些问题,在一些需要全文检索或者模糊匹配等时候也可以使用,但是Lucene使用主要体现能力的还是对一些参数的调整和词库,分词器还是基于词库来工作的,对于一些特定的分词,默认词库不会产生较好的用户体验。
消息队列网上查就可以了,这个一大堆。
webservice传输如果碰到数据较大的情况可以进行压缩后再传输,本身它也不是以性能做为卖点,跨平台通信才是。
------解决方案--------------------
1、sql优化,把执行时间最长的几个sql找出来,重点优化,可以根据sql条件建索引等。这个去网上搜索看。
2、页面静态化,楼上有推荐了。
3、上memcache应该能解决很大的性能问题,当然你的服务器内存应该尽量大一些。

这3点做好再不行的话,再去考虑用其他的。一般这还不行就该增加服务器了,多台机器做负载均衡。

------解决方案--------------------
1、只能在数据库和查询数据库的sql上下功夫了
2、mq是用来做即时消息缓存的……完全可以自己写一个,所以我不清LZ你用这个来干嘛
3、建议弄一个ftp服务器,专门来存储你所说的大视频问题
------解决方案--------------------
一般的话首页的是基础表,可以建索引之类的,优化sql   如果表相当大   可以把表弄成分区 分盘存储  
------解决方案--------------------
MQ  可以 考虑 使用  ActiveMQ
------解决方案--------------------
memcache

引用:
Quote: 引用:

直接建缓存也可以啊

1.用开源的还是自己做?
2,。做缓存分页如何处理?
memcache,缓存的时候数据不分页,用的时候才分页