17-性能优化
4.3.6 性能优化
SORT 是Redis中最强大最复杂的命令之一,如果使用不好很容易成为性能瓶颈。 SORT 命令的时间复杂度是O(n+mlog(m)),其中n表示要排序的列表(集合或有序集合)中的元素个数,m表示要返回的元素个数。当n较大的时候 SORT 命令的性能相对较低,并且Redis在排序前会建立一个长度为n4的容器来存储待排序的元素,虽然是一个临时的过程,但如果同时进行较多的大数据量排序操作则会严重影响性能。
4有一个例外是当键类型为有序集合且参考键为常量键名时容器大小为m而不是n。
所以开发中使用 SORT 命令时需要注意以下几点。
(1)尽可能减少待排序键中元素的数量(使N尽可能小)。
(2)使用 LIMIT 参数只获取需要的数据(使M尽可能小)。
(3)如果要排序的数据数量较大,尽可能使用 STORE 参数将结果缓存。