NoSQL

首页 标签 NoSQL
# NoSQL #
关注
43595内容
Redis的集群架构与使用经验
本文介绍了Redis的集群架构与使用经验,包括主从复制、哨兵集群及Cluster分片集群的应用场景与实现原理。内容涵盖Redis主从同步机制、数据分片存储方式、事务支持及与Memcached的区别,并讨论了Redis内存用尽时的处理策略。适用于了解Redis高可用与性能优化方案。
延时实现
本节介绍了多种关闭过期订单的实现方案,包括定时任务、JDK延迟队列、Redis过期监听、Redisson延迟队列、RocketMQ延迟消息及RabbitMQ死信队列。各自优缺点明显,适用于不同业务场景,如定时任务适合小数据量,RocketMQ适合高并发解耦场景,而Redisson则使用简单且高效。选择时需综合考虑系统复杂度、数据量及可靠性要求。
了解关系型数据库
关系型数据库基于表结构,支持SQL查询,适合复杂关系和事务处理,如Oracle、MySQL;而非关系型数据库如Redis、MongoDB采用灵活模型,适用于高并发、大数据场景。关系型数据库维护成本低但扩展性差,非关系型数据库读写快、成本低但不支持事务。索引可提升查询速度,但占用空间影响更新效率。数据库索引多采用B+树,因其更适合范围查询、磁盘读写效率高且查询性能稳定。
redis杂项
Redis基于内存、IO多路复用,读写高效;虽主为单线程,但支持多线程读写及持久化。常用数据类型如string、hash、list、set、zset适用于多种场景。为提升性能,常搭配本地缓存(如Caffeine)形成二级缓存架构。为保证Redis与MySQL一致性,可采用加锁、MQ或延迟双删策略。Redis支持多种淘汰策略及持久化方式(RDB/AOF),兼顾性能与数据安全。
Java基础常识
本文简要介绍了Java中String、StringBuilder与StringBuffer的区别,阐述了序列化与反序列化的基本概念,并概述了Java异常体系及常用数据结构,如动态数组、链表、栈、队列、哈希表、红黑树、跳表、B+树等,同时提及IO流的使用与注意事项。
杂项8
缓存三剑客(穿透、击穿、雪崩)解析及解决方案:穿透指请求数据在Redis和数据库均不存在,可通过校验、空值缓存、布隆过滤器应对;击穿针对热点数据失效,可用互斥锁或永不过期策略;雪崩因大量缓存同时失效,可采用随机过期、集群部署、降级机制缓解。
杂项7
本资料介绍了Git分支管理与远程仓库操作,包括本地与远程分支创建、文件提交流程及IDEA操作指南。同时涵盖Redis常用数据类型如String、Hash、List、Set、ZSet的应用场景与操作示例,以及缓存使用策略,帮助开发者高效管理代码与数据。
基础的数据结构
线性结构包括动态数组、链表、栈和队列,适用于顺序存储与操作。非线性结构如优先级队列、哈希表、红黑树、跳表和B+树,适用于复杂数据组织与高效查找。不同结构适用于不同场景,如HashMap适合快速查找,B+树用于数据库索引。
|
3月前
|
RabbitMQ
本内容介绍了使用RabbitMQ实现MySQL与Redis数据双写一致性的实践经验,涵盖消息高可用性、不丢失策略、消息堆积解决方案、幂等性保障及死信交换机与延迟队列的实现机制,适用于消息中间件的可靠性设计与优化。
免费试用