热文Redis 为什么是单线程的
因为 CPU 不是 Redis 的瓶颈。Redis 的瓶颈最有可能是机器内存或者网络带宽。(以上主要来自官方 FAQ)既然单线程容易实现,而且 CPU 不会成为瓶颈,那就...
热文Redis 持久化机制
AOF 持久化方式则会记录每一个服务器收到的写操作。在服务启动时,这些记录的操作会逐条执行从而重建出原来的数据。写操作命令记录的格式跟 Redis 协议一致,以追加的方式...
热文聊聊 MongoDB 使用场景
MongoDB 非常适合高伸缩性的场景,它是可扩展性的表结构。基于这点,可以将预期范围内,表结构可能会不断扩展的 MySQL 表结构,通过 MongoDB 来存储,这就可...
热文ObjectId 规则
前四位是时间戳,可以提供秒级别的唯一性。 - 接下来三位是所在主机的唯一标识符,通常是机器主机名的散列值。 - 接下来两位是产生 ObjectId 的 PID,确保同一台...
热文选择合适的数据存储方案
MySQL 是一个最流行的关系型数据库,在互联网产品中应用比较广泛。一般情况下,MySQL 数据库是选择的第一方案,基本上有 80% ~ 90% 的场景都是基于 MySQ...
热文选择合适的分布式主键方案
选择合适的分布式主键方案 数据库自增长序列或字段 UUID 使用 UUID to Int64 的方法 Redis 生成 ID Twitter 的 snowflake 算法
热文存储引擎的 InnoDB 与 MyiSAM
1. InnoDB 不支持 `FULLTEXT` 类型的索引。 2. InnoDB 中不保存表的具体行数,也就是说,执行 `select count() from tab...
热文MySQL 遇到的死锁问题
产生死锁的四个必要条件: 互斥条件:一个资源每次只能被一个进程使用。 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:进程已获得的资源...
热文分库与分表带来的分布式困境与应对之策
前面介绍到水平分表策略归纳总结为随机分表和连续分表两种情况。连续分表有可能存在数据热点的问题,有些表可能会被频繁地查询从而造成较大压力,热数据的表就成为了整个库的瓶颈,而...
热文MySQL 索引使用的注意事项
索引不会包含有 `NULL` 的列 只要列中包含有 `NULL` 值,都将不会被包含在索引中,复合索引中只要有一列含有 `NULL` 值,那么这一列对于此符合索引就是无效的。
热文58 到家 MySQL 军规升级版
表存储引擎必须使用 `InnoDB` - 表字符集默认使用 `utf8`,必要时候使用 `utf8mb4` - 通用,无乱码风险,汉字 3 字节,英文 1 字节
热文微服务如何进行数据库管理
为了确保微服务之间松耦合,每个服务都有自己的数据库, 有的是关系型数据库(SQL),有的是非关系型数据库(NoSQL)。开发企业事务往往牵涉到多个服务,要想做到多个服务数...
热文微服务与 SOA 的区别
讨论「微服务和 SOA 的差别」的意义远不如讨论「微服务和单体系统的差别」更大,因为他们的区别实在有点微妙。此外,互联网近些年的发展,越来越朝去中心化的方向前进了,就像今...
热文说说最终一致性的实现方案
强一致 当更新操作完成之后,任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种是对用户最友好的,就是用户上一次写什么,下一次就保证能读到什么。根据 CAP ...
热文怎么考虑数据一致性问题
# 怎么考虑数据一致性问题 ## 单体应用的数据一致性 想象一下如果我们经营着一家大型企业,下属有航空公司、租车公司、和连锁酒店。我们为客户提供一站式的旅游行程规划服务,这