天天看点

Spring+springMvc+redis+elasticsearch

前言:es与redis实在网上跟各位前辈学的,若有相同的地方,请见谅!

Step1:下载附件elasticsearch-2.4.0 redis-2.4.5服务器

Step2: 给 redis-2.4.5配置密码,默认无密码,被保护,只能本机访问,所以设置密码,elasticsearch默认集群名称elasticsearch

Step3: 下载(redis-mannager)调试(我没有用,我是直接命令调试的)

Step4: 下载组件

Redis:

<dependency>  

    <groupId>org.springframework.data</groupId>  

    <artifactId>spring-data-redis</artifactId>  

    <version>1.6.1.RELEASE</version>  

</dependency>  

<dependency>  

    <groupId>redis.clients</groupId>  

    <artifactId>jedis</artifactId>  

    <version>2.7.3</version>  

</dependency>  

Elasticsearch:

<dependency>

    <groupId>fr.pilato.spring</groupId>

    <artifactId>spring-elasticsearch</artifactId>

    <version>2.0.0</version>

</dependency>

<dependency>

<groupId>org.springframework.data</groupId>

<artifactId>spring-data-elasticsearch</artifactId>

<version>2.0.4.RELEASE</version>

</dependency>

 <dependency>

<groupId>org.elasticsearch</groupId>

<artifactId>elasticsearch</artifactId>

<version>2.4.0</version>

</dependency>

<dependency>

<groupId>org.springframework.data</groupId>

<artifactId>spring-data-jpa</artifactId>

<version>1.8.0.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework.data</groupId>

<artifactId>spring-data-commons-core</artifactId>

<version>1.4.0.RELEASE</version>

</dependency>      

Step5: 配置文件

elaticsearch.properties

elasticsearch.esNodes=127.0.0.1:9300

elasticsearch.cluster.name=elasticsearch

redis.properties

#redis中心  

redis.host=127.0.0.1  

redis.port=6379  

redis.password=123456

redis.maxIdle=100  

redis.maxActive=300  

redis.maxWait=1000  

redis.testOnBorrow=true  

redis.timeout=100000  

# 不需要加入缓存的类  

targetNames=

#targetNames=xxxRecordManager,xxxSetRecordManager,xxxStatisticsIdentificationManager  

# 不需要缓存的方法  

methodNames=  

#设置缓存失效时间  

#com.service.impl.xxxRecordManager= 60  

#com.service.impl.xxxSetRecordManager= 60  

defaultCacheExpireTime=3600  

fep.local.cache.capacity =10000  

elasticsearch.xml

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xmlns:context="http://www.springframework.org/schema/context"

       xmlns:mvc="http://www.springframework.org/schema/mvc"

       xmlns:jpa="http://www.springframework.org/schema/data/jpa"

       xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"

       xsi:schemaLocation="

       http://www.springframework.org/schema/beans

         http://www.springframework.org/schema/beans/spring-beans-4.3.xsd

         http://www.springframework.org/schema/context

         http://www.springframework.org/schema/context/spring-context-4.3.xsd

         http://www.springframework.org/schema/mvc

         http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd

         http://www.springframework.org/schema/data/jpa

         http://www.springframework.org/schema/data/jpa/spring-jpa-1.8.xsd

         http://www.springframework.org/schema/data/elasticsearch

         http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch-1.0.xsd

      ">

<!--  <elasticsearch:transport-client id="clients"

                                    cluster-nodes="127.0.0.1:9300"

                                    cluster-name="elasticSearchClu"

                                    client-transport-sniff="false"/> -->

<elasticsearch:transport-client id="client" cluster-nodes="${elasticsearch.esNodes}" cluster-name="${elasticsearch.cluster.name}"   

client-transport-sniff="false"/>

<bean name="elasticsearchTemplate" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">

        <constructor-arg name="client" ref="client"/>

</bean>

<bean id="simpleElasticsearchRepository"

          class="org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository">

        <constructor-arg name="elasticsearchOperations" ref="elasticsearchTemplate"/>

</bean>

</beans>  

Redis.xml

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="byName">

 <!-- jedis 配置 -->  

   <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig" >  

         <property name="maxIdle" value="${redis.maxIdle}" />  

         <property name="maxWaitMillis" value="${redis.maxWait}" />  

         <property name="testOnBorrow" value="${redis.testOnBorrow}" />  

   </bean >  

  <!-- redis服务器中心 -->  

   <bean id="connectionFactory"  class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >  

         <property name="poolConfig" ref="poolConfig" />  

         <property name="port" value="${redis.port}" />  

         <property name="hostName" value="${redis.host}" />  

         <property name="password" value="${redis.password}" />  

         <property name="timeout" value="${redis.timeout}" ></property>  

   </bean >  

   <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" >  

         <property name="connectionFactory" ref="connectionFactory" />  

         <property name="keySerializer" >  

             <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  

         </property>  

         <property name="valueSerializer" >  

             <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />  

         </property>  

          <property name="hashKeySerializer">  

        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>  

         </property>

         <property name="hashValueSerializer">  

        <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>  

         </property>  

   </bean >  

</beans>

Step6: 将配置文件引入到spring

Step7:先从ES接口开始

工具类ElasticsearchUntil.java EsModel.java

接口类:ElasticsearchServiceI.java QueryElasticsearchServiceI.java

        QueryElasticsearchServiceImpl.java ElasticsearchServiceImpl.java

资源请在附件里面下

注意:如果es版本不同,请在下组件的地方修改相应的版本

以上文件在附件里面

Step8: redis 接口

RedisBaseServiceImpl.java RedisBaseServiceI.java RedisExpireTime.java(设置过期时间)

以上文件在附件里面

Step9: 控制层(测试)

以下我就贴图了,根据自己的业务修改

Es:

Redis:

OK,就算完了,下次把支付的写一下(支付宝和微信)

附件:请在我上传的资源下载http://download.csdn.net/download/qq_25800733/10151163

继续阅读