1. 程式人生 > >spring boot整合mongodb、solr、redis等資料來源

spring boot整合mongodb、solr、redis等資料來源

           最近專案使用到spring boot,需要整合mongodb、solr、redis等資料來源,使用強大的spring data,還是很簡單的,分享一下經驗。spring boot推崇領配置,所以所有配置在application.properties中完成。mongodb、solr、redis等都是以叢集的方式連線。

application.properties中的配置資訊

#mongodb配置
spring.data.mongodb.host=192.168.8.100
spring.data.mongodb.port=27017
spring.data.mongodb.database=mmia_rd
#solr配置
spring.data.solr.host = http://192.168.8.101/solr/
#redis配置
spring.redis.cluster.nodes=192.168.8.101:6381,192.168.8.101:6382,192.168.8.101:6383,192.168.8.102:6384,192.168.8.102:6385,192.168.8.102:6386
spring.redis.cluster.maxRedirects=8
spring.redis.timeout=5000

使用

spring data的Repository介面,使用起來很方便。

mongodb有

public interface MongoRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {
}

solr有

public interface SolrCrudRepository<T, ID extends Serializable> extends SolrRepository<T, 
ID>, PagingAndSortingRepository<T, ID> { }
簡單的CRUD可以直接使用。命名參照spring data jpa標準命名,可以自動生成查詢語句

redis使用

public class RedisTemplate<K, V> extends RedisAccessor implements RedisOperations<K, V>, BeanClassLoaderAware 
在類中直接注入
@Resource(name="stringRedisTemplate")
private ListOperations
<String,String> listValueOperations; @Resource(name="redisTemplate") ValueOperations<Object,Article> valueOperations;
對redis的操作是使用 RedisTemplate中的
private ValueOperations<K, V> valueOps;
private ListOperations<K, V> listOps;
private SetOperations<K, V> setOps;
private ZSetOperations<K, V> zSetOps;
完成的。

對string型別的操作,spring data 已經為我們封裝了

public class StringRedisTemplate extends RedisTemplate<String, String> {
如果是簡單使用String型別,可以直接注入使用。