Get in Touch

Course Outline

Module 1: Initial setup

  • Redis releases
  • Installation
  • Configuration
  • Security model
  • Starting Redis during boot
  • Security hardening applied by common Linux distributions
  • Client libraries and language bindings

Module 2: Data model

  • Primitive data types and commands to manipulate them
  • Typical use cases for each data type
  • Common naming conventions for Redis keys
  • "Redis is mostly single-threaded" - what this means in practice
  • Redis wire protocol
  • What to do if your client library does not support a useful command
  • Why some commands are intentionally unavailable in certain client libraries
  • How to shift your mindset from that of a relational database designer
  • General tips on data organisation
  • Expiration
  • Pub/Sub
  • Transactions & Lua scripts
  • External modules
  • General tips on data consistency

Module 3: Performance tips

  • Benchmarking Redis
  • Commands to avoid
  • Debugging latency issues
  • Issues with large DEL requests - what to use instead
  • Pipelining
  • Mass insertion
  • Debugging memory overuse
  • Memory optimisation tips

Module 4: Operations

  • Available persistence mechanisms
  • Precautions to avoid SSD wearout
  • Backup and restore
  • Tools for exploring database contents
  • Tools for dump analysis
  • Tuning durability versus performance
  • Switching between RDB and AOF
  • Use cases for diskless Redis
  • OS-level tunables relevant for Redis
  • Monitoring Redis performance

Module 5: More than one Redis

  • Starting multiple Redis instances on one server
  • Application-level partitioning
  • Master-slave replication
  • High availability using Redis Sentinel
  • Redis Cluster
  • Making Sentinel and Cluster work across NAT
  • Creating consistent backups

Module 6: High Availability

  • Install and set up multi-Redis servers
  • Standalone server with multiple instances
  • Master/slave replication
  • Redis HA cluster with Sentinel
  • Redis sharding cluster
  • Combination of Redis replication (with Sentinel) and sharding capability
  • Monitoring, backup/restore, and performance tuning for the setup

Requirements

Participants should be comfortable with basic system administration tasks using the Linux command line. Some topics require programming or scripting skills. When booking, please list the programming languages you are familiar with. If there are none, we will issue Redis commands via redis-cli.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories