In Redis, all data types can use different encodings to save memory or improve performance. For instance, a String that has only digits(for example, 123456) uses less memory that a string of letters(for example, abcde) because they use different encoding. Data types will use different encodings based on thresholds defined in the Redis server configuration.
If we unpack the staff engineer role, there are 3 pillars: big-picture thinking execution of projects, and leveling up the engineers you work with These pillars sit on a solid foundation of technical knowledge and experience. This foundation is critical. Your big-picture perspective includes understanding what’s possible and having good judgement. When executing on projects, your solutions will need to actually solve the problems they set out to solve. When acting as a role model, your review comments should make code and design better, and your opinion need to be well thought out - you need to be right!
As a staff engineer, you need a broad view. You won’t make good choices about what to work on unless you can step outside your day to day and see where you’re all supposed to be going. These three maps are useful tools for thinking about work and asking yourself questions about where you are, how your organization works, and what you’re all trying to do:
Ideas for Code Review and Design Review Reviewing code and designs can be an excellent form of teaching. You get to highlight perils your colleague might not know about and suggest safer alternatives. You also get to encourage behaviors you want to see more of. Here are some ideas to bear in mind as you review to teach.
Guardrails Think of the railing you might find along a cliffside walking path. They are not for leaning on, but they’re there to steady yourself when you need them. A small stumble will not fail you: the rail will stop you from going over the edge. Guardrails encourage autonomy, exploration, and innovation.
Reasons to stay in the same role or company If your current role is giving most of what you need and taking you where you want to go, it can be rewarding to continue doing the same thing for a long time. Staff engineering benefits from the longevity, domain knowledge, and relationships that you build over time in one place. Here are some other reasons it’s good to spend a long time in one place:
This chapter gives an overview of many different Redis commands and features, from techniques to reduce network latency to extending Redis with Lua scripting. Pub/Sub Pub/Sub stands for Publish-Subscribe, which is a pattern where message are not sent directly to specific receivers. Publisher send messages to channels, and subscribers receive these messages if they are listening to a given channel.
A time series is an ordered sequence of values(data points) made over a time interval. They can be adopted in any domain that needs temporal measurements. Examples of time series are:
This chapter introduces the Set, Sorted Set, Bitmap, and HyperLogLog data types. Sets A Set in Redis is an unordered collection of distinct Strings - it is not possible to add repeated elements to a Set. Internally, a Set is implemented as a hash table, which is the reason that some operations are optimized.
Redis supports various basic data types. Although you don’t need to use all the data types, it is important to understand how they work so that you can choose the right ones.