- 博客(18)
- 收藏
- 关注
原创 【Neo4j】Neo4j基本概念与操作
Neo4j图数据库基础与应用摘要 Neo4j是NoSQL类型的图数据库,由节点(Node)、关系(Relationship)、标签(Label)和属性(Property)组成核心数据结构。它采用Cypher查询语言,支持CREATE/MATCH/DELETE等基本CRUD操作,以及MERGE、OPTIONAL MATCH等高级查询功能。语法特点包括:用括号表示节点,方括号表示关系;支持路径查询和聚合函数;可通过WITH实现链式查询。数据库管理方面支持创建索引和约束来优化性能和数据完整性。Neo4j特别适合处
2025-11-03 11:27:25
313
原创 【Redis】高可用
Redis高可用性主要通过主从集群和哨兵机制实现。主从集群通过全量同步、增量同步等技术保证数据一致性,但存在异步复制导致的数据丢失风险。哨兵机制则通过监控、选主和通知三大功能,自动处理节点故障和主从切换,降低人工干预需求。同时通过主观下线和客观下线机制提高故障判断准确性,结合参数调优可有效避免脑裂等问题,确保Redis集群的高可用性。
2025-08-22 16:40:42
943
原创 【Redis】原理
Redis原理摘要 Redis采用高效的数据结构实现其键值存储系统,核心特点包括: RedisObject:所有数据都封装为RedisObject,包含类型、编码方式等元信息。 动态字符串(SDS):优化C语言字符串,支持O(1)长度获取和动态扩容,提供embstr和raw两种编码方式。 整数集合(IntSet):有序存储整数,支持自动类型升级,适用于小型整数集合。 字典(Dict):核心数据结构,采用链地址法解决哈希冲突,支持渐进式rehash以平滑扩容/收缩。 内存管理:通过引用计数和LRU机制实现内存
2025-08-22 16:37:42
1017
原创 【算法】蓄水池抽样算法
摘要: 蓄水池抽样算法用于从未知长度的数据流中均匀采样k个元素,适用于大数据实时处理。核心思路是: 初始将前k个元素存入结果数组 对第i(i>k)个元素,生成随机数j∈[0,i),若j<k则替换结果数组第j位 通过概率分析证明每个元素最终被采样的概率均为k/n 算法扩展包括加权版本(按权重概率采样)和分布式版本(多节点协同采样)。Go代码实现展示了基础算法及其变种。
2025-07-13 18:18:52
808
原创 【Redis】持久化
Redis提供了两种持久化方案:RDB快照和AOF日志。 RDB快照通过保存内存数据到磁盘实现持久化,可通过停机、配置或命令触发。优点是恢复速度快,但无法记录执行期间修改的数据,且可能占用双倍内存。 AOF日志记录所有写命令,支持三种写回策略(Always、Everysec、No),并提供重写机制优化文件大小。优点是数据完整性高,但恢复速度较慢。 RDB适合快速恢复,AOF适合数据安全,两者可结合使用以平衡性能与可靠性。
2025-07-13 03:27:06
677
原创 【Redis】数据类型和操作
Redis数据类型与操作摘要 Redis提供了多种数据类型及相应操作命令: 通用命令:包括KEYS(查找键)、EXISTS(检查键)、DEL(删除键)、EXPIRE/TTL(过期时间)、RENAME(重命名)、TYPE(类型查询)、FLUSHDB/FLUSHALL(清空数据)等。 数据类型与特性: String:基本数据类型,最大512M,支持文本/数字/二进制数据,常用作缓存、计数器。 List:双向链表结构,支持40亿+元素,适用于消息队列、任务列表。 Hash:键值对集合,适合存储对象类型数据,如用户
2025-07-13 03:24:01
438
原创 【Redis】应用
Redis作为高性能缓存数据库,在分布式系统中有着广泛应用。文章介绍了Redis实现session机制、缓存策略和全局唯一ID的方法。 在session机制方面,Redis解决了传统Web服务session在分布式环境中的共享问题,并具备高性能、高可用等优势。 缓存策略部分详细分析了Cache Aside模式,强调"先更新数据库再删除缓存"的重要性,并对比了其他策略的适用场景。同时探讨了缓存穿透、击穿和雪崩的解决方案,如布隆过滤器、互斥锁和多级缓存等。 全局唯一ID实现方面,Redis自
2025-07-13 03:21:54
1584
原创 【算法】对于KMP算法的一些理解
KMP算法是一种高效的字符串匹配算法,通过预处理模式串生成next数组来优化匹配过程。其核心思想是利用最长公共前后缀信息,在失配时快速调整模式串位置,减少无效匹配。next数组记录了每个位置失配时应回溯的位置,相当于模式串与自身的错位匹配。算法实现分为两部分:计算next数组和进行实际匹配,两者结构相似,都遵循"匹配则前进,失配则回溯"的原则。KMP算法的时间复杂度为O(n+m),比暴力匹配的O(nm)显著提升。
2025-07-12 17:28:21
363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1