Redis在springboot中的使用教程
依赖如下:
org.springframework.boot spring-boot-starter-data-redis
配置文件如下:
spring: redis: open:true#是否开启redis缓存true开启false关闭 database:0 host:47.104.208.124 port:6378 password:lf.1228#密码(默认为空) timeout:6000#连接超时时长(毫秒) pool: max-active:1000#连接池最大连接数(使用负值表示没有限制) max-wait:-1#连接池最大阻塞等待时间(使用负值表示没有限制) max-idle:10#连接池中的最大空闲连接 min-idle:5#连接池中的最小空闲连接
RedisConfig类:
@Configuration publicclassRedisConfig{ @Autowired privateRedisConnectionFactoryfactory; @Bean publicRedisTemplateredisTemplate(){ RedisTemplate redisTemplate=newRedisTemplate<>(); redisTemplate.setKeySerializer(newStringRedisSerializer()); redisTemplate.setHashKeySerializer(newStringRedisSerializer()); redisTemplate.setHashValueSerializer(newStringRedisSerializer()); redisTemplate.setValueSerializer(newStringRedisSerializer()); redisTemplate.setConnectionFactory(factory); returnredisTemplate; } @Bean publicHashOperations hashOperations(RedisTemplate redisTemplate){ returnredisTemplate.opsForHash(); } @Bean publicValueOperations valueOperations(RedisTemplate redisTemplate){ returnredisTemplate.opsForValue(); } @Bean publicListOperations listOperations(RedisTemplate redisTemplate){ returnredisTemplate.opsForList(); } @Bean publicSetOperations setOperations(RedisTemplate redisTemplate){ returnredisTemplate.opsForSet(); } @Bean publicZSetOperations zSetOperations(RedisTemplate redisTemplate){ returnredisTemplate.opsForZSet(); } }
RedisUtils如下:
@Component publicclassRedisUtils{ @Autowired privateRedisTemplateredisTemplate; @Autowired privateValueOperations valueOperations; @Autowired privateHashOperations hashOperations; @Autowired privateListOperations listOperations; @Autowired privateSetOperations setOperations; @Autowired privateZSetOperations zSetOperations; /**默认过期时长,单位:秒*/ publicfinalstaticlongDEFAULT_EXPIRE=60*60*24; /**不设置过期时长*/ publicfinalstaticlongNOT_EXPIRE=-1; privatefinalstaticGsongson=newGson(); publicvoidset(Stringkey,Objectvalue,longexpire){ valueOperations.set(key,toJson(value)); if(expire!=NOT_EXPIRE){ redisTemplate.expire(key,expire,TimeUnit.SECONDS); } } publicvoidset(Stringkey,Objectvalue){ set(key,value,DEFAULT_EXPIRE); } public Tget(Stringkey,Class clazz,longexpire){ Stringvalue=valueOperations.get(key); if(expire!=NOT_EXPIRE){ redisTemplate.expire(key,expire,TimeUnit.SECONDS); } returnvalue==null?null:fromJson(value,clazz); } public Tget(Stringkey,Class clazz){ returnget(key,clazz,NOT_EXPIRE); } publicStringget(Stringkey,longexpire){ Stringvalue=valueOperations.get(key); if(expire!=NOT_EXPIRE){ redisTemplate.expire(key,expire,TimeUnit.SECONDS); } returnvalue; } publicStringget(Stringkey){ returnget(key,NOT_EXPIRE); } publicvoiddelete(Stringkey){ redisTemplate.delete(key); } /** *Object转成JSON数据 */ privateStringtoJson(Objectobject){ if(objectinstanceofInteger||objectinstanceofLong||objectinstanceofFloat|| objectinstanceofDouble||objectinstanceofBoolean||objectinstanceofString){ returnString.valueOf(object); } returngson.toJson(object); } /** *JSON数据,转成Object */ private TfromJson(Stringjson,Class clazz){ returngson.fromJson(json,clazz); } }
springboot如何封装redis:
RedisTemplate
所在包: org.springframework.data.redis.core
作用:redis模板,redis事务,序列化支持,操作redis方法
JedisConnectionFactory
所在包:org.springframework.data.redis.connection.jedis
作用:redis连接工厂类,创建redis连接池等
RedisAutoConfiguration
所在包:org.springframework.boot.autoconfigure.data.redis
作用:将redis配置文件相关信息注入工厂类
RedisProperties
所在包:org.springframework.boot.autoconfigure.data.redis
作用:redis连接基础类通过@ConfigurationProperties注解将配置信息注入属性
总结
以上所述是小编给大家介绍的Redis在springboot中的使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。