小工具知识网

当前位置: 首页 > 行业知识 > 分布式ID选型对比(3)

行业知识

分布式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

上一篇:揭秘VNC端口,保障远程访问安全的秘诀!

下一篇:服务器该怎么租?