zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    unset全局变量运用问题详解
    servlet
    windows 下 Eclipse+python开发环境配置
    连接mysql
    filter
    DotNetNuke 中文乱码问题的解决
    如何解决InfoPath的分页问题
    转:windows installer出错信息解决
    SQL中文全文搜索效果不理想问题的解决
    转:解决WEB页面上"焦点控制"一法
  • 原文地址:https://www.cnblogs.com/cuish/p/15265647.html
Copyright © 2011-2022 走看看