redis-sort by
对某个列表(list)、集合(set)、有序集合(zset)排序的时候按照某个 参考键 进行排序,而不是按照按照这个列表、集合或有序集合本身进行排序;
被排序的键和参考键在业务上有关联(这个由业务保证)。
e.g.
有一个记录文章id的列表(list),同时还有一个记录文章id及其更新时间的若干个key(哈希)
文章id列表
保存文章更新时间和作者的哈希key
按照每篇文章的更新时间对文章id进行排序
排序后返回指定字段
排序后返回指定的多个字段
返回制定的多个字段和元素本身(文章id)
把排序结果存到某个键
sort ids by post:*->time desc get post:*->author get # STORE idsAfterSort
性能优化
对有n个元素的列表进行排序,返回m个元素,其时间复杂度是O(n + mlog(m))
空间复杂度是O(n)
所以开发中使用SORT时需要注意:
(1)尽可能减少排序元素个数
(2)使用 LIMIT 参数只获取需要的数据
(3)排序数据较大时,尽可能使用STORE将结果缓存
**********************技术交流请 email:cuihao0532#163.com 欢迎转载,转载请注明出处!***************************** 如果对本文满意请扫描文章左侧【二维码添加微信】获取更多好玩、有趣、有益、有营养的料,
你我共同成长!Y(^_^)Y
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗