e-Book - Redis in Action

This book covers the use of Redis, an in-memory database/data structure server.
  • Foreword
  • Preface
  • Acknowledgments
  • About this Book
  • About the Cover Illustration
  • Part 1: Getting Started
  • Part 2: Core concepts
  • Part 3: Next steps
  • Appendix A
  • Appendix B
  • Buy the paperback

    7.2 Sorted Indexes

    In the previous section, we talked primarily about searching, with the ability to sort
    results by referencing data stored in HASHes. This kind of sorting works well when we
    have a string or number that represents the actual sort order we’re interested in. But
    what if our sort order is a composite of a few different scores? In this section, we’ll talk
    about ways to combine multiple scores using SETs and ZSETs, which can offer greater
    flexibility than calling SORT.

    Stepping back for a moment, when we used SORT and fetched data to sort by from
    HASHes, the HASHes behaved much like rows in a relational database. If we were to
    instead pull all of the updated times for our articles into a ZSET, we could similarly
    order our articles by updated times by intersecting our earlier result SET with our
    update time ZSET with ZINTERSTORE, using an aggregate of MAX. This works because
    SETs can participate as part of a ZSET intersection or union as though every element
    has a score of 1.