- 博客(9)
- 收藏
- 关注
原创 Redis分布式锁的使用场景与常见问题
重要提示:Redis分布式锁适用于AP场景(可用性优先),若需要CP场景(强一致性)建议使用ZooKeeper。建议生产环境配合监控系统(如Prometheus)和压力测试工具(如JMeter)验证锁机制可靠性。锁粒度控制:按业务维度拆分(如用户ID哈希)锁超时动态调整:根据历史执行时间自动计算。锁等待时间(avg < 50ms)锁获取失败率(阈值 < 0.1%)锁持有时间(p95 < 1s)本地锁+分布式锁混合使用。
2025-02-24 15:26:28
428
原创 Redis作为缓存的使用场景与常见问题
maxmemory-policy allkeys-lru(优先淘汰最近最少使用的key)混合模式(Redis 4.0+):aof-use-rdb-preamble yes。使用内存分析工具:redis-rdb-tools分析大key。脑裂问题:配置min-slaves-to-write 1。扩容缩容:使用redis-trib工具管理集群。现象:热点key过期瞬间大量请求直达DB。现象:大量key同时过期导致DB压力激增。RDB:定时快照,恢复快但可能丢失数据。监控内存使用:INFO memory。
2025-02-24 15:03:28
601
原创 Runnable创建线程及Runnable和Thread的区别
根据运行结果:发现有多个人会买到同一张票,这就是多线程情况下,没有对数据进行维护,导致数据紊乱,后续会有对应的方法解决这个问题。2. 只需要创建一个自定义类对象,作为参数,使用原生的Thread对象开启的自定义线程。3. 创建Thread有参构造对象,参数填充自定义类对象。1.自定义类需要实现Runnble接口并重写run方法。1. 自定义类需要继承Thread类并重写run方法。2. 创建自定义类对象,调用start方法开启线程。2.开启几个自定义线程,需要创建几个自定义类对象。2. 创建自定义类对象。
2024-08-24 16:22:18
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人