1
hareandlion 2017-04-09 14:08:37 +08:00 via iPhone
对同一个 key 的不同 score ,使用不同的加权来实现多个 value 的进一步分组,这个实用吗?
|
2
Ouyangan 2017-04-09 14:38:44 +08:00
问下楼主 , 这是把 redis 当数据库了么
|
3
twogoods OP @Ouyangan 对,这个东西做成了微信上分享的页面供用户炫耀分数的。至于为什么,师傅定的,我是实习生,还真说不出 123😔
|
4
loveyu 2017-04-09 15:27:34 +08:00
有时候就是为了用 redis 而用 redis
|
5
twogoods OP @hareandlion 没明白😳
|
6
Infernalzero 2017-04-09 16:02:55 +08:00
首先你得确定 value 达到多少 M 了算大,然后估算多少个好友会达到这个上限
你这种业务场景,如果好友列表只存 id 的话,几千个好友都不可能达到那个上限的 其次,这里即使这个 set 的 value 比较大,但因为数据是分页取的,并不会产生慢查询,除非你把整个 set 一下全取出来,如果是,那说明需求不合理,就要改需求为分页获取 而且这个和查 mysql 不同,也不会因为 offset 过大导致读取内存过多的问题 |
7
we3613040 2017-04-09 16:09:35 +08:00
什么叫 value 较大?是啥问题,大引起了什么问题?是存不下了还是什么?看不懂
|
8
mazyi 2017-04-09 16:36:08 +08:00 via iPhone
redis 毕竟不是数据库,何苦考虑大 value 的情况,这样 redis 不就失去了意义,快不起来了。
|
9
Miy4mori 2017-04-09 16:39:57 +08:00 via iPhone
貌似 redis 中 value 大于 10k 才会引起性能明显下降,你这个 set 集合无论怎么看都不会大于 10k 吧。
|
11
sagaxu 2017-04-09 16:46:25 +08:00
你可以反问面试官, 1K 个好友, 1M 个好友,和 1G 个好友的时候分别怎么做
|
12
oclock 2017-04-09 16:48:53 +08:00
redis 有序集有 ZRANGEBYSCORE ,支持分页
|
13
boywang004 2017-04-09 17:17:49 +08:00
说句实话吧,一般绝大部分业务真遇不到 redis value 大带来的问题……所以面试官感觉有点儿小刁难,是不是你介绍里写〔精通〕 redis 了?呵呵。不过反过来说真遇到了那这个问题还挺严重的,嗯。
|
14
we3613040 2017-04-09 17:36:18 +08:00
@akira 没遇到需要考虑 value 大的场景,因为内存不够用么?这分 key 不也是还不够用么,只能加机器,做分布式
|
15
twogoods OP @boywang004 我一应届的渣渣敢写精通...连熟悉我都要想一想再写😂
|
16
boywang004 2017-04-09 20:21:30 +08:00
@twogoods 这时候就反问面试官咯,还能表达出一幅对知识苛求的样子。最不济骗个答案下次面别的时候可以装个 B 。😂
|
17
izoabr 2017-04-09 23:26:32 +08:00
面试的问题,早年我遇到过一个面试问我一个以太网底层的问题,然后我正好又知道,回答了,面试官仍然不满意,但是我还是进去了,后来知道这是他们一直困扰解决不了的技术问题。
所以你懂的,互相尊重,谦虚请教,但不卑微,他未必比你明白。句号前的叫自信。 |
18
8355 2017-04-10 10:00:19 +08:00
这种其实就是伪需求,实际开发中应该规避的问题。但是现在却发生了问你怎么解决。直接说不知道没遇见过 把你能说的说了 然后问他怎么解决就好了。 说的好回去查查当学习 说的不好大概说明这个面试官也只不过想让你打不出来从而压点工资。。不必在意。
|
19
banksiae 2017-04-10 10:38:30 +08:00
sortedset 慎用,这东西数据量打了性能跟不上。 redis 尽量使用 O(1)的操作, redis 做存储用倒也可以,就是要考虑容量的问题,满了之后 lru 就比较麻烦了。
|
20
dylanhf 2017-07-10 18:49:00 +08:00
@Miy4mori 老铁你好,今天才看到这个帖子,我的项目也遇到类似的问题:有一组 Redis Hash 的 value,达到了 27KB,造成了 Redis 查询太慢,我们的项目系统后续的 HSET/HGET 操作因此而延迟。
想要跟你讨教下,这个 value,多大才算大呢?多大才算合适呢? 项目想要调整系统中这个 hash value 结构的大小,但是又拿捏不准这个值的大小。感觉老铁身经百战,能否给出一个建议呢? 多谢多谢! |
21
Miy4mori 2017-07-11 09:45:24 +08:00 via iPhone
@dylanhf 其实我是从官网看的,我实际使用中并没有优化过 redis。https://redis.io/topics/benchmarks
|