行业知识
分布式ID选型对比(3)
2026-11-02 02:08:48
来源:互联网转载
redis自增
一, 引入���赖:
()org.springframework.boot spring-boot-starter-data-redis 2.6.5
二, 配置信息:
spring: redis: # 地址 host: localhost # 端口号 port: 6379 # 密码 password: # 超时时间,单位毫秒 timeout: 3000 # 数据库编号 database: 0
JedisConfig:
()package org.com.spi.config;import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;@Configurationpublic class JedisConfig { @Bean public RedisTemplate redisTemplate(RedisConnectionFactory factory) { StringRedisTemplate template = new StringRedisTemplate(factory); //定义key序列化方式 //RedisSerializer redisSerializer = new StringRedisSerializer();//Long类型会出现异常信息;需要我们上面的自定义key生成策略,一般没必要 //定义value的序列化方式 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); // template.setKeySerializer(redisSerializer); template.setValueSerializer(jackson2JsonRedisSerializer); template.setHashValueSerializer(jackson2JsonRedisSerializer); template.afterPropertiesSet(); return template; }} 三, redis配置类RedisUtils:
package org.com.spi.utils;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import javax.annotation.Resource;@Componentpublic class RedisUtils { @Resource private RedisTemplate redisTemplate; //这里使用的是redisTemplate /** * redis 自增 * @param key 键 // * @param by 要增加几(大于0) * @return */ public long incr(String key, long delta){ if(delta
下一篇:服务器该怎么租?