Redis自定义模板、redis.conf配置文件详解


@Configuration
public class RedisConfig {

@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
template.setConnectionFactory(redisConnectionFactory);

//json序列化配置
Jackson2JsonRedisSerializer<Object> objectJackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
objectJackson2JsonRedisSerializer.setObjectMapper(objectMapper);

//String的序列化
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();

//key采用String的序列化方式
template.setKeySerializer(stringRedisSerializer);
//hash采用String的序列化方式
template.setHashKeySerializer(stringRedisSerializer);
//value采用jackson
template.setValueSerializer(objectJackson2JsonRedisSerializer);
//hash的value序列化采用jackson
template.setHashValueSerializer(objectJackson2JsonRedisSerializer);
template.afterPropertiesSet();

return template;
}
}


启动redis-server时,一般需要携带配置文件一同启动,因此配置文件中的一些重要内容是需要了解一些的:

./redis-server redis.conf 


大小写不敏感:

# units are case insensitive so 1GB 1Gb 1gB are all the same.

 

可包含多个配置文件

# include /path/to/local.conf
# include /path/to/other.conf

 

指定地址访问。若注释掉或者以通配符替代,则表示所有主机都可连接

# bind 127.0.0.1 ::1


保护模式(关闭后貌似只能本地访问?)

protected-mode no

 

设置端口

port 6379

 

以守护进程方式运行,默认是no

daemonize yes

 

管理守护进程的

supervised no

 

如果以后台方式运行,就需要指定一个pid进程文件

pidfile /var/run/redis_6379.pid

 

日志级别
loglevel notice

 

日志位置,为空则为标准输出

logfile ""

 

数据库数量

databases 16

 

启动时显示logo

always-show-logo yes

 

持久化。在规定时间内执行的多少次操作,就会持久化到文件:.rdp .aof文件,否则断电即失

#若900秒内至少有1个key进行了修改,则会进行持久化操作
save 900 1  
#若300秒内至少有10个key进行了修改,则会进行持久化操作
save 300 10
#若60秒内至少有10000个key进行了修改,则会进行持久化操作
save 60 10000

 

持久化失败后是否继续工作

stop-writes-on-bgsave-error yes

 

是否压缩RDB文件(消耗CPU资源)

rdbcompression yes

 

报错RDB文件时进行错误校验

rdbchecksum yes

 

RDB文件保存目录

dir ./

 

设置redis登录密码,也可以通过客户端设置密码:config set requirepass "123456" ,再重新通过auth 123456登录即可使用(但关闭进程后会消失,因此建议还是配置文件修改)

# requirepass foobared
requirepass 123456

 

设置最大连接redis的客户端数量

# maxclients 10000

 

最大内存容量

# maxmemory <bytes>

 

内存达到上限的处理策略(基本不用)

# maxmemory-policy noeviction
持久化等命令(略)











posted @   我永远喜欢石原里美  阅读(738)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示