logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

redis 过期和淘汰策略

maxmemory-samples 5# 每次检查的 key 数量。:Redis 定期随机抽取部分设置了过期时间的 key 进行检查。:可能存在已过期但未被删除的 key(直到被访问或定期删除触发):从设置了过期时间的 key 中使用 LRU 算法淘汰。:从设置了过期时间的 key 中使用 LFU 算法淘汰。:优先淘汰剩余生存时间 (TTL) 较短的 key。:从所有 key 中使用 LRU 算法

#redis#数据库#缓存
redisson 设置了过期时间,会自动续期吗

java// 使用定时任务定期续期// 每10秒检查一次。

redisson tryLock

应用场景源码实际上tryLock 是lock接口方法,redisson重写了。

#junit
redisson看门狗实现原理

/ 默认 10 秒(30s / 3)锁的过期时间,防止业务逻辑执行时间超过锁的持有时间,导致锁提前释放而引发并发问题。// 4. 执行 Lua 脚本,延长锁的过期时间。// 3. 检查锁是否仍被当前线程持有。// 如果未指定 leaseTime,则启动 Watch Dog。当线程获取锁后,如果业务执行时间超过锁的过期时间(如设置的。检查一次锁的状态,并重置锁的过期时间(续期至 30 秒)。// 2

#java
redis client.ttl(key)

对应 Redis 的命令:bash复制下载TTL key。

#redis#python#数据库
redis缓存为什么要延时双删

另外,该方式(第5种,相对第2种,只后删缓存的,可以大大的减少获取到旧缓存的数量)哈希锁因为引入的分段锁来保证锁创建和销毁的同步,这个锁的思想是借助java的弱引用来创建锁,把锁的销毁交给jvm的垃圾回收,来避免额外的消耗。问题2:为了避免缓存清除失败带来的风险,起到在每次操作数据库之前,都还原到没有产生缓存之前的效果。在三中,第二次清空缓存之前,多延时一会儿,等B更新缓存结束了,再删除缓存,这样

#缓存#redis#数据库
redis cluster 主节点挂了,如何保证消息不丢失

在 Redis Cluster 中,确保数据不丢失的关键是使用可靠的持久化机制(如 AOF),保证主从节点的数据同步,并确保故障转移机制正常工作。在主节点挂掉并切换到从节点时,如果从节点已经同步了足够的数据,数据不会丢失。但如果同步延迟较高或从节点未完全同步主节点的数据,可能会丢失部分消息。因此,通过配置合理的同步策略、增加从节点数量以及使用合适的持久化机制,可以显著降低数据丢失的风险。

文章图片
#redis#java#mybatis
redis集群部署

1.引入依赖在需要使用redis的服务中引入相关依赖。compile('org.springframework.boot:spring-boot-starter-redis')compile('redis.clients:jedis:2.9.0')compile('org.apache.commons:commons-pool2:2.5.0')compile('org.spring...

redis登录查询

场景:执行oversea中间表定时任务,保证文件不被重复读取,加redis锁,保证文件数据落地后,再执行落中间表任务。springBoot-redis一,集群配置:同一个机器redis:      clusterNodes:            - 10.108.6.90:6179            - 10.108.6.90:6279            - 10.1...

mysql深度分页优化方案

深度分页的优化核心在于减少MySQL扫描的数据量,避免全表扫描。通过使用索引、游标分页、延迟关联等技术,可以显著提升分页查询的性能。根据具体的业务场景选择合适的优化方案。延迟关联通过先获取主键,再关联查询实际数据的方式,减少了回表次数和I/O操作,特别适合深度分页场景。通过合理设计索引和查询语句,可以显著提升MySQL分页查询的性能。

#mysql#数据库
    共 102 条
  • 1
  • 2
  • 3
  • 11
  • 请选择