摘要:一在文件中引入二配置地址等配置數(shù)據(jù)庫索引默認(rèn)為服務(wù)器地址服務(wù)器連接端口服務(wù)器連接密碼默認(rèn)為空連接池最大連接數(shù)使用負(fù)值表示沒有限制連接池最大阻塞等待時(shí)間使用負(fù)值表示沒有限制連接池中的最大空閑連接連接池中的最小空閑連接連接超時(shí)時(shí)
一、在pom文件中引入redis
二、配置Redis地址等配置org.springframework.boot spring-boot-starter-redis RELEASE
# Redis數(shù)據(jù)庫索引(默認(rèn)為0) spring.redis.database= 0 # Redis服務(wù)器地址 spring.redis.host= ip # Redis服務(wù)器連接端口 spring.redis.port=6379 # Redis服務(wù)器連接密碼(默認(rèn)為空) spring.redis.password= password # 連接池最大連接數(shù)(使用負(fù)值表示沒有限制) spring.redis.pool.max-active=8 # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒有限制) spring.redis.pool.max-wait=-1 # 連接池中的最大空閑連接 spring.redis.pool.max-idle=8 # 連接池中的最小空閑連接 spring.redis.pool.min-idle=0 # 連接超時(shí)時(shí)間(毫秒) spring.redis.timeout=0三、編寫操作Redis的工具類 四、接下來要說的就是關(guān)于key值"亂碼"問題
這次主要的問題是,在這過程中可以操作Redis數(shù)據(jù)庫 ,但是在登陸服務(wù)器的時(shí)候用redis-cli查看key的時(shí)候找不到相對(duì)應(yīng)的key,而是出現(xiàn)了以下的這種情況
那么在存key的時(shí)候?yàn)槭裁磿?huì)出現(xiàn)這種"亂碼"的情況呢?
其實(shí)這里的"亂碼"并不是真的亂碼,那是因?yàn)槲覀冞€缺少了一點(diǎn)配置,那就是對(duì)Redis存key或者value的時(shí)候,沒有配置字符串序列化。沒有配置的話是默認(rèn)使用jdk本身的序列化的,點(diǎn)進(jìn)去RedisTemplate里面去看,可以看到
因?yàn)閟pring操作redis是在jedis客戶端基礎(chǔ)上進(jìn)行的,而jedis客戶端與redis交互的時(shí)候協(xié)議中定義是用byte類型交互,看到spring-data-redis中RedisTemplate
其實(shí)在這里應(yīng)該先提前利用springboot的自動(dòng)裝配,先將這些東西配置好,這些配置在網(wǎng)上可以找到,springboot集成redis配置
@Configuration @EnableAutoConfiguration public class RedisConfig { @Bean public RedisTemplateredisTemplate(RedisConnectionFactory factory) { StringRedisTemplate redisTemplate = new StringRedisTemplate(factory); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.setObjectMapper(om); //設(shè)置完這個(gè)可以直接將對(duì)象以json格式存入redis中,但是取出來的時(shí)候要用JSON.parseArray(Json.toJsonString(object),Object.class)解析一下 redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); //調(diào)用后完成設(shè)置 redisTemplate.afterPropertiesSet(); return redisTemplate; }
其實(shí)不用配置這些,Redis也可以正常使用的,不過為了防止日后出現(xiàn)問題方便排查,還是花一點(diǎn)點(diǎn)時(shí)間將這些配置加上吧~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72421.html
摘要:前言兩個(gè)月沒更新原創(chuàng)了,實(shí)在慚愧。在實(shí)現(xiàn)方面,存儲(chǔ)代表空間中最大和最老的成員之一。支持?jǐn)?shù)據(jù)結(jié)構(gòu),如字符串,散列,列表,集和帶范圍查詢的有序集。所以我代碼里了兩個(gè)字符串,其實(shí)只了一個(gè)。另外,關(guān)注之后在發(fā)送可領(lǐng)取免費(fèi)學(xué)習(xí)資料。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人。如有問題,請(qǐng)后臺(tái)留言,反正我也不會(huì)聽。 showImg(https://segmentfault.com/img/remote/1460...
閱讀 1986·2021-09-30 09:46
閱讀 1397·2019-08-30 15:43
閱讀 1150·2019-08-29 13:28
閱讀 1950·2019-08-29 11:24
閱讀 1728·2019-08-26 13:22
閱讀 4022·2019-08-26 12:01
閱讀 1848·2019-08-26 11:33
閱讀 3270·2019-08-23 15:34