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
持久化等命令(略)
本文来自博客园,作者:我永远喜欢石原里美,转载请注明原文链接:https://www.cnblogs.com/yuan-zhou/p/15902627.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了