redis 缓存过期默认时间_redis默认过期时间是多少

1.Redis数据库介绍

redis数据库是一种基于内存可持久化的键值对非关系性数据库。为了保证效率,redis的数据都是缓存在内存中的,区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

Redis是基于内存管理的数据库,所以内存开销方面需要进一步优化:

①.首先最重要的一点是不要开启Redis的VM选项,即虚拟内存功能,这个本来是作为Redis存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是其内存管理成本也非常的高,并且我们后续会分析此种持久化策略并不成熟,所以要关闭VM功能,请检查你的redis.conf文件中 vm-enabled 为 no。

②.其次最好设置下redis.conf中的maxmemory选项,该选项是告诉Redis当使用了多少物理内存后就开始拒绝后续的写入请求,该参数能很好的保护好你的Redis不会因为使用了过多的物理内存而导致swap,最终严重影响性能甚至崩溃。

③.如果在Redis内部存储的大部分数据是数值型的话,Redis内部采用了一个shared integer的方式来省去分配内存的开销,即在系统启动时先分配一个从1~n 那么多个数值对象放在一个池子中,如果存储的数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当 Spring Redis 缓存时间配置不生效时,可能有几个原因。以下是一些常见的原因和解决方案: 1. 检查 Spring Boot 版本:在一些较早的 Spring Boot 版本中,配置 Redis 缓存时间可能会出现问题。确保你在使用的版本中已经修复了相关问题,并尽可能升级到最新版本。 2. 检查缓存注解的配置:如果你使用了 Spring 的缓存注解(例如 `@Cacheable`、`@CachePut`、`@CacheEvict`),请确保在注解中正确配置了缓存过期时间。可以通过 `expire` 或 `expireTime` 属性来指定过期时间,单位可以是秒或毫秒。 3. 检查缓存键的配置:确保你在使用缓存注解时,使用了正确的缓存键。如果缓存键不正确或不存在,缓存时间配置将不会生效。 4. 检查 RedisTemplate 的配置:如果你使用 RedisTemplate 进行缓存操作,可以通过设置 `defaultExpiration` 属性来配置默认缓存过期时间。确保在实例化 RedisTemplate 时设置了适当的值。 5. 检查 Redis 配置文件:检查你的 Redis 服务器是否正确配置了过期时间。可以通过检查 Redis 配置文件中的 `maxmemory-policy` 和 `maxmemory` 参数来确认。 6. 检查 Redis 服务器的时间Redis 使用服务器的时间来判断缓存条目是否过期。确保 Redis 服务器的时间设置正确,以保证过期时间的判定准确。 如果以上解决方案都没有解决问题,建议检查你的代码实现,以确定是否存在其他可能导致缓存时间配置不生效的问题。希望这些信息能对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值