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

    6.7 Summary

    In this chapter we’ve gone through six major topics, but in looking at those topics, we
    actually solved nine different problems. Whenever possible, we’ve taken steps to borrow
    ideas and functionality from previous sections to keep building more useful tools,
    while trying to highlight that many of the techniques that we use in one solution can
    also be used to solve other problems.

    If there’s one concept that you should take away from this entire chapter, it’s that
    although WATCH is a useful command, is built in, convenient, and so forth, having
    access to a working distributed lock implementation from section 6.2 can make concurrent
    Redis programming so much easier. Being able to lock at a finer level of detail
    than an entire key can reduce contention, and being able to lock around related operations
    can reduce operation complexity. We saw both performance improvements and operation simplicity in our revisited marketplace example from section 4.6, and in
    our delayed task queue from section 6.4.2.

    If there’s a second concept that you should remember, take to heart, and apply in
    the future, it’s that with a little work, you can build reusable components with Redis.
    We reused locks explicitly in counting semaphores, delayed task queues, and in our
    multiple-recipient pub/sub replacement. And we reused our multiple-recipient pub/
    sub replacement when we distributed files with Redis.

    In the next chapter, we’ll continue with building more advanced tools with Redis,
    writing code that can be used to back entire applications from document indexing
    and search with scored indexing and sorting, all the way to an ad targeting system, and
    a job search system. Going forward, we’ll reuse some of these components in later
    chapters, so keep an eye out, and remember that it’s not difficult to build reusable
    components for Redis.