这个案例比较适合用在校招、初级岗位中,它不仅思路简单,而且实现也很简单,因此你即便是说自己是校招的用了这个优化,面试官也不会有什么怀疑。
这个案例适合用在性能优化的场景下,作为你提升系统性能的一个措施。也可以证明你对 Redis 的数据结构有比较深刻的理解。
这个案例的代码可以参考 interview-cases/case11_20/case20 at main · meoying/interview-cases (github.com)。
在实践中,很多时候我们都要在 Redis 里面存储一些 JSON 数据,而后带来的缺陷就是每次读写都必须是操作整个 JSON 串。举一个最简单的例子,我们经常会在将 User 转化为一个 JSON 串,而后放入 Redis 中。但是在使用的时候,可能只需要 User 中的部分字段,比如说只需要 nickname 这个字段,但是你依旧不得不整个 JSON 取出来。
那么这种整体读写 JSON 的操作是非常耗时的。所以一种优化方式就是用哈希结构(map)存储。你可以看到在我们的代码里面,有两个关键操作: