美文网首页
redis的一些配置

redis的一些配置

作者: 相信灬你一直在 | 来源:发表于2018-11-28 13:39 被阅读0次
/ 图片.png

redis的设置:
redisConfig.java省略了get方法

@Component
@ConfigurationProperties(prefix="redis")
public class RedisConfig {
    private String host;
    private int port;
    private int timeout;//秒
    private String password;
    private int poolMaxTotal;
    private int poolMaxIdle;
    private int poolMaxWait;//秒
}

创建RedisPool的工程方法
RedisPoolFactory.java

@Service
public class RedisPoolFactory {

    @Autowired
    RedisConfig redisConfig;
    
    @Bean
    public JedisPool JedisPoolFactory() {
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        poolConfig.setMaxIdle(redisConfig.getPoolMaxIdle());
        poolConfig.setMaxTotal(redisConfig.getPoolMaxTotal());
        poolConfig.setMaxWaitMillis(redisConfig.getPoolMaxWait() * 1000);
        JedisPool jp = new JedisPool(poolConfig, redisConfig.getHost(), redisConfig.getPort(),
                redisConfig.getTimeout()*1000, redisConfig.getPassword(), 0);
        return jp;
    }
    
}

生成Redis的工具前设置可扩展的存储key方法
设置接口函数KeyPrefix.java写入两个方法用来获取存入的有效时间和自定义前缀

public interface KeyPrefix {
        
    public int expireSeconds();
    
    public String getPrefix();
    
}

用BasePrefix.java去实现这个接口作为后续扩展所需集成的类

public abstract class BasePrefix implements KeyPrefix {

    private int expireSeconds;

    private String prefix;

    public BasePrefix(String prefix) {//0代表永不过期
            this(0, prefix);
    }

    public BasePrefix(int expireSeconds, String prefix) {
        this.expireSeconds = expireSeconds;
        this.prefix = prefix;
    }

    public int expireSeconds() {//默认0代表永不过期
        return expireSeconds;
    }

    public String getPrefix() {
        String className = getClass().getSimpleName();
        return className + ":" + prefix;
    }

}

扩展的例子此为自己设置了时间的

public class MiaoshaUserKey extends BasePrefix {

    public static final int TOKEN_EXPIRE = 3600 * 24 * 2;

    private MiaoshaUserKey(int expireSeconds, String prefix) {
        super(expireSeconds, prefix);
    }

    public static MiaoshaUserKey token = new MiaoshaUserKey(TOKEN_EXPIRE, "tk");
}

如果不设置时间BasePrefix将时间设置为0 RedisServer调用的时候用set方法而不用setex方法。

public class UserKey extends BasePrefix{

    private UserKey(String prefix) {
        super(prefix);
    }
    public static UserKey getById = new UserKey("id");
    public static UserKey getByName = new UserKey("name");

相关文章

  • nodejs使用redis模块并实现图形验证码功能

    nodejs连接redis模块 redis的使用 安装 redis 模块 进行redis的一些配置 上述配置中,u...

  • redis的配置文件

    redis的配置文件redis.conf,以下是该文件的一些配置说明: bind 127.0.0.1protect...

  • springboot 2.x整合redis

    引入redis依赖 设置连接redis的配置 Redis配置 配置redis连接 开始使用

  • redis配置和安装

    学习目标 了解Redis的配置 查看所有配置信息 配置 Redis的配置信息在 /etc/redis/redis....

  • Redis常用配置

    Redis有非常多的配置项,这里只介绍一些最基础的配置,更多的配置会伴随着Redis的更深入的学习进行介绍。比如A...

  • redis配置文件

    redis配置文件中存储单位说明 redis常用配置说明 redis安全配置 在配置文件中设置密码 在redis-...

  • Redis主从配置详细

    Redis主从配置 主配置 修改/etc/redis/redis.confsudo vi redis.confbi...

  • Ubuntu20.04 安装和配置redis

    安装redis 添加开机启动项 配置redis 配置文件 /etc/redis/redis.conf 修改配置文件...

  • redis

    redis配置文件概括说明 redis 常用配置 redis 主从复制 配置文件修改 手动修改 redis 哨兵部...

  • SpringBoot整合redis

    1.在配置文件中配置redis属性,我配置的是redis集群 2.配置redis属性文件 3.配置redisTem...

网友评论

      本文标题:redis的一些配置

      本文链接:https://www.haomeiwen.com/subject/mkdnqqtx.html