Spring整合Redis快取例項
配置檔案:application.propertiespackage com.kilomob.powernetwork.cache.redis; import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.support.ResourcePropertySource; import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.connection.RedisSentinelConfiguration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; import redis.clients.jedis.JedisPoolConfig; /** * Redis InitConfiguration Bean * * * @author fengjk * @date 2017年4月11日 * @since 1.0 */ @Configuration @EnableCaching public class RedisConfiguration { private static final Logger logger = LoggerFactory .getLogger(RedisConfiguration.class); @Autowired private RedisConfig redisConfig; @Autowired JedisPoolConfig jedisPoolConfig; @Bean public JedisPoolConfig jedPoolConfig() { JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxIdle(redisConfig.maxIdle); poolConfig.setMaxWaitMillis(redisConfig.maxWait); poolConfig.setMaxTotal(redisConfig.maxTotal); return poolConfig; } @Bean public JedisConnectionFactory redisConnectionFactory() { JedisConnectionFactory jcf =null; if (redisConfig.isSentinel) { try { ResourcePropertySource propertySource = new ResourcePropertySource("resource", "classpath:application.properties"); RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration(propertySource); jcf = new JedisConnectionFactory(sentinelConfig, jedisPoolConfig); jcf.setTimeout(redisConfig.maxWait); // jcf.setPassword(redisConfig.password); } catch (IOException e) { logger.error("confile not exist or error:",e); } } else { jcf = new JedisConnectionFactory(jedisPoolConfig); jcf.setHostName(redisConfig.hostName); jcf.setPort(redisConfig.port); // jcf.setPassword(redisConfig.password); jcf.setTimeout(redisConfig.timeout); jcf.setUsePool(true); } return jcf; } @SuppressWarnings("rawtypes") @Bean public RedisTemplate redisTemplate() { RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>(); redisTemplate.setConnectionFactory(redisConnectionFactory()); // redisTemplate.setEnableTransactionSupport(true); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); //jdk序列化 RedisSerializer<Object> redisSerializer = new JdkSerializationRedisSerializer(); redisTemplate.setKeySerializer(stringRedisSerializer); redisTemplate.setValueSerializer(redisSerializer); redisTemplate.setHashKeySerializer(stringRedisSerializer); redisTemplate.setHashValueSerializer(stringRedisSerializer); redisTemplate.setExposeConnection(true); redisTemplate.afterPropertiesSet(); return redisTemplate; } @Bean public CacheManager cacheManager(RedisTemplate<String, Object> redisTemplate) { RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate); cacheManager.setDefaultExpiration(60 * 60); return cacheManager; } }
相關推薦
Spring整合Redis快取例項
package com.kilomob.powernetwork.cache.redis; import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframe
Spring整合Redis快取,提高查詢效率
整合redis快取後可以將資料庫的查詢介面,序列化到redis中,key就是註解中的引數,例如@Cacheable(“findUsers”): 存在redis中的key就是findUsers。快取了這個結果之後再次請求這個方法就不會去資料庫中查,而是從redis快取中讀取資料,這樣就減少
Spring整合Redis快取實現
下面我們來實現Spring整合Redis快取如何實現的。一般有一下幾個步驟 Spring整合Redis的幾個步驟: 1、搭建Redis 伺服器環境(windows環境下搭建\Linux環境下搭建) 2、啟動Redis服務 3、maven專案中新增依賴 4、
spring整合redis快取
如果對spring cache不瞭解,這邊有一篇文章詳細的介紹了 http://jinnianshilongnian.iteye.com/blog/2001040 改專案基於maven構建 相關依賴 Xml程式碼 1 2
Spring整合Redis實現資料快取
一、什麼是RedisRedis 是一個開源(BSD許可)的,記憶體中的資料結構儲存系統,它可以用作資料庫、快取和訊息中介軟體。 它支援多種型別的資料結構,如 字串(strings), 雜湊(hashes), 列表(lists), 集合(sets), 有序集合(sorted s
SpringBoot入門系列(七)Spring Boot整合Redis快取
前面介紹了Spring Boot 中的整合Mybatis並實現增刪改查,。不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html。 今天主要講解Springboot整合Redis。Redis是目前使用最多的快取,包
Spring優雅整合Redis快取
“小明,多系統的session共享,怎麼處理?”“Redis快取啊!” “小明,我想實現一個簡單的訊息佇列?”“Redis快取啊!” “小明,分散式鎖這玩意有什麼方案?”“Redis快取啊!” “小明,公司系統響應如蝸牛,咋整?”“Redis快取啊!” 本著研究的精神,我們來分析下小明的第四個問
spring整合redis
data sch throws ack xid .org source protect pid 1,利用spring-data-redis整合 項目使用的pom.xml: <project xmlns="http://maven.apache.org/POM/4.0
Spring整合Redis做數據緩存(Windows環境)
端口號 init 技術分享 factory redis-cli @service tab long 配置 當我們一個項目的數據量很大的時候,就需要做一些緩存機制來減輕數據庫的壓力,提升應用程序的性能,對於java項目來說,最常用的緩存組件有Redis、Ehcache和Mem
Spring整合Redis(spring-data-redis)
nds 獲取 可能 div 普通 工具 long red 等待 歷經幾天看了大量的博客資料,差不多算是搞定了,目前只是針對單個數據源,集群暫時沒研究 maven依賴 <properties> <!-- redis 版本 --> &l
網站性能優化小結和spring整合redis
remove utf ota turn tor package process 基本屬性 version 現在越來越多的地方需要非關系型數據庫了,最近網站優化,當然從頁面到服務器做了相應的優化後,通過在線網站測試工具與之前沒優化對比,發現有顯著提升。 服務器優化目前主要優化
spring 整合 redis的配置
index row val return created log idea pass truct 廢話不說,直接上代碼: 1、先添加依賴包 <!--redis--> <dependency>
Spring整合Redis報ClassCastException
最近在用Spring註解方式Cacheable 整合Redis的時候,報ClassCastException 異常,我方法返回值是一個PageVo, 報不能將PageVo 不能轉換成String 型別。一開始網上搜都是說SpringBoot整合方案,但我用的是Spring的方式的,後來看過幾
Spring整合Redis註解實現
之前我們說了Spring這個Redis,使用RedisTemplate 實現,不過有些地方也過於麻煩,因此Spring 團隊對 Jedis 進行了封裝,獨立為 spring-data-redis 專案,配合 spring 特性並整合 Jedis 的一些命令和方法。並提供了相關注解,幫助我們快
Spring整合redis帶測試用例Demo完整程式碼
專案結構 jar包 <!--redis--> <dependency> <groupId>redis.clients</groupId> <artifa
Springboot 2.0.x 整合Redis快取
文章目錄 Springboot 2.0.x 整合Redis快取 1、引入Redis快取依賴 2、配置Redis 資料庫 3、配置Redis CacheManager
【nosql-redis】spring整合redis
環境: MAVEN+SPRING+MYBATIS+MYSQL+REDIS 1 pom.xml檔案下載依賴: <dependency> <groupId>org.springframework.data</groupId> &
springboot 2.0 教程-07-整合redis快取框架
閱讀原文:https://blog.bywind.cn/articles/2018/11/28/1543373589258.html 視訊教程:https://www.bilibili.com/video/av35595465 課程原始碼:https://github.com/ibywind/s
Spring整合redis叢集
目錄 1,說明 6,使用 1,說明 本文使用的客戶端為jedisCluster.它已經封裝了一些常用操作。故只需根據自己需要再進行封裝即可。 2,jar版本 使用的jar包的版本如下 jedis-2.9.0.jar(據網上反饋,只有這個版
springboot整合redis快取
使用redis作為快取 1. 在pom.xml檔案中匯入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>