PHP
是世界上最好的语言

标签:nosql

单线程的 Redis 为什么这么快-PHPBeta
数据库

单线程的 Redis 为什么这么快

星痕阅读(423)评论(0)赞(1)

这个问题是对 Redis 内部机制的一个考察。根据我的面试经验,很多人都不知道 Redis 是单线程工作模型。所以,这个问题还是应该要复习一下的。 回答主要是以下三点: 纯内存操作 单线程操作,避免了频繁的上下文切换 采用了非阻塞 I/O ...

如何解决 Redis 的并发竞争 Key 问题-PHPBeta
数据库

如何解决 Redis 的并发竞争 Key 问题

星痕阅读(613)评论(0)赞(1)

这个问题大致就是,同时有多个子系统去 Set 一个 Key。这个时候大家思考过要注意什么呢? 需要说明一下,我提前百度了一下,发现答案基本都是推荐用 Redis 事务机制。 我并不推荐使用 Redis 的事务机制。因为我们的生产环境,基本都...

如何应对缓存穿透和缓存雪崩问题-PHPBeta
数据库

如何应对缓存穿透和缓存雪崩问题

星痕阅读(431)评论(0)赞(1)

这两个问题,说句实在话,一般中小型传统软件企业,很难碰到这个问题。如果有大并发的项目,流量有几百万左右。这两个问题一定要深刻考虑。 缓存穿透,即黑客故意去请求缓存中不存在的数据,导致所有的请求都怼到数据库上,从而数据库连接异常。 缓存穿透解...

Redis 和数据库双写一致性问题-PHPBeta
数据库

Redis 和数据库双写一致性问题

星痕阅读(744)评论(0)赞(1)

一致性问题是分布式常见问题,还可以再分为最终一致性和强一致性。数据库和缓存双写,就必然会存在不一致的问题。 答这个问题,先明白一个前提。就是如果对数据有强一致性要求,不能放缓存。我们所做的一切,只能保证最终一致性。 另外,我们所做的方案从根...

Redis 的过期策略以及内存淘汰机制-PHPBeta
数据库

Redis 的过期策略以及内存淘汰机制

星痕阅读(233)评论(0)赞(0)

Redis 的过期策略以及内存淘汰机制,这个问题相当重要,到底 Redis 有没用到家,这个问题就可以看出来。 比如你 Redis 只能存 5G 数据,可是你写了 10G,那会删 5G 的数据。怎么删的,这个问题思考过么? 还有,你的数据已...

Redis 的数据类型,以及每种数据类型的使用场景-PHPBeta
数据库

Redis 的数据类型,以及每种数据类型的使用场景

星痕阅读(220)评论(0)赞(0)

是不是觉得这个问题很基础?我也这么觉得。然而根据面试经验发现,至少百分之八十的人答不上这个问题。 建议,在项目中用到后,再类比记忆,体会更深,不要硬记。基本上,一个合格的程序员,五种类型都会用到。 String 这个没啥好说的,最常规的 s...

分布式之redis复习精讲-PHPBeta
数据库

分布式之redis复习精讲

星痕阅读(236)评论(0)赞(1)

考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。 所以我斗胆以 Redis 为题材,对 Redis 常见问题做一个总结,希望能...