今天小編給大家分享一下SpringBoot如何配置redis高并發(fā)緩存的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
成都創(chuàng)新互聯(lián)公司2013年成立,先為翁源等服務(wù)建站,翁源等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為翁源企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1.引入依賴
org.springframework.boot spring-boot-starter-data-redis
2.配置
#啟動redis #redis的數(shù)據(jù)庫索引(默認(rèn)為0) spring.redis.database=2 #redis的服務(wù)器地址 spring.redis.host=127.0.0.1 #密碼(沒有就為空) spring.redis.password= #連接池的最大連接數(shù) spring.redis.jedis.pool.max-active=2000 #連接池的最大阻塞等待時間(使用負(fù)值表示無限制) spring.redis.jedis.pool.max-wait=-1 #連接池的最小空閑連接 spring.redis.jedis.pool.min-idle=50 #連接超時時間(毫秒) spring.redis.timeout=1000 #集群模式配置 #spring.redis.cluster.nodes=106.54.79.43:7001,106.54.79.43:7002,106.54.79.43:7003,106.54.79.43:7004,106.54.79.43:7005,106.54.79.43:7006
3.自動裝配的對象
@AutowiredStringRedisTemplate stringRedisTemplate;//僅支持字符串的數(shù)據(jù)@AutowiredRedisTemplate redisTemplate;//支持對象的數(shù)據(jù),但需要對對象進(jìn)行序列化
4.序列化
什么是序列化?
序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,它將流轉(zhuǎn)換為對象。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù)。
為什么要序列化對象
把對象轉(zhuǎn)換為字節(jié)序列的過程稱為對象的序列化把字節(jié)序列恢復(fù)為對象的過程稱為對象的反序列化
@Configuration@AutoConfigureAfter(RedisAutoConfiguration.class)public class RedisConfig {/**java項(xiàng)目www.1b23.com * 對屬性進(jìn)行序列化和創(chuàng)建連接工廠 * @param connectionFactory * @return */@Beanpublic RedisTemplateredisTemplate(LettuceConnectionFactory connectionFactory) {RedisTemplate template = new RedisTemplate<>();template.setKeySerializer(new StringRedisSerializer());template.setValueSerializer(new GenericJackson2JsonRedisSerializer());template.setConnectionFactory(connectionFactory);return template;}}
5.測試
//java項(xiàng)目www.1b23.com@RequestMapping("/user")@RestControllerpublic class UserController {@AutowiredStringRedisTemplate stringRedisTemplate;//僅支持字符串的數(shù)據(jù)@AutowiredRedisTemplate redisTemplate;//支持對象的數(shù)據(jù),前提需要進(jìn)行序列化@GetMappingpublic User user(){User user = new User();user.setId("1");user.setName("zhangshan");user.setPhone("133333333");//插入數(shù)據(jù) stringRedisTemplate.opsForValue().set("1",user.toString());redisTemplate.opsForValue().set("user",user);// return stringRedisTemplate.opsForValue().get("1"); return (User)redisTemplate.opsForValue().get("user");}}
以上就是“SpringBoot如何配置Redis高并發(fā)緩存”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。