比如我有数万个list列表在redis数据库(在另一台服务器中)中,已知每个list的key,我想知道每个list的大小,我现在的做法是调用数万次llen去查询,但时候耗时过久,有什么办法可以加快速度吗?
这个耗时主要是llen本身操作上,还是由于网络传播那么多次命令造成的?
redis5种基本数据结构之一列表,获取长度len属性的时间复杂度为O(1),不会像你说的那般耗时间;如果数万个LIST是动态的不建议用redis;是固定不变的话,用一个集合存储所有LIST的长度就可以了,每次往redis存一个LIST就在这个集合中增加该LIST的长度,获取所有LIST的长度只取这个集合的value就行了
你让数据的产生者直接把len写入一个单独的list里,然后你查询一个list就够了呀
redis不是你这样玩的