面试被虐 redis,所以来这边问问

2020-04-01 13:36:24 +08:00
 zxc1234

1.redis 根据 key 获取 value

可以用 get key,那么里面的实现原理是什么呢?

(我百度不到啊)

2.redis 的数据结构有 string,hash,set,sort set 等,那么在平时的业务处理中有没有遇到过用其中一种

数据类型不合适,然后用另一种的情况呢,是什么场景呢?为什么要这么换呢?

求大佬们告知下,不胜感激。

6167 次点击
所在节点    程序员
26 条回复
picone
2020-04-01 18:52:07 +08:00
redis 集群有个问题,是根据 key 分散到各个节点的,如果使用值较大的类型,如 hashmap,会导致单个节点容量过高,这种情况可以看看能不能改成 string 类型。
huntcool001
2020-04-01 19:13:08 +08:00
@picone 官网上的建议是一个大的 hashmap 分成小的.. 而不是改成 string.
zxc1234
2020-04-01 20:44:06 +08:00
zxc1234
2020-04-01 20:45:47 +08:00
@picone
@huntcool001

新手求教,redis 有 hashmap 这个类型吗?这边的 hashmap 是指?
zjj19950716
2020-04-01 23:38:56 +08:00
redis 的源码是真的好,看起来很爽
OysterQAQ
2020-04-03 08:50:24 +08:00
1 redis 底层类似 hashmap
2 应该从这些数据结构的操作的时间复杂度下手(根本原因是底层数据结构的实现导致的)
3 ziplist 看一下源代码,看了数据结构就明白在什么情况下 ziplist 会产生性能问题,就会明白在什么时候该用,3.0 还是 3.2 之后 list 实现就是 quicklist 了,ziplist 在 hash set 都有用到,元素较少的时候遍历可能比 hash 还快

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/658277

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX