Course Outline


About Redis

Pre-requisites

  • The participants should have basic knowledge of some database preferably a NoSQL database

Duration

  • 2-3 Days

Lab Setup

  • Hardware Configuration
    • A minimum of 20GB of disk space and atleast 4GB of RAM
  • Software Configuration
    • Operating System – Ubuntu 16.04 Desktop or Server Edition

Course Outline for Redis

Overview - SQL/NoSQL
  • Datastore design considerations
  • Relational v/s NoSQL stores
  • Entities, Relationships and Database modeling
  • When to use Relational/NoSQL?
  • Categories of NoSQL stores
  • Examples of NoSQL stores
Commands
  • Strings
  • Sets
  • Sorted Set
  • Hashes
  • Lists
  • Transactions
  • Server
  • Scripting
  • Pub/Sub
  • Keys
  • HyperLogLog
  • Connection
  • Cluster
Pipeling in Redis
  • Request/Response protocols and RTT
  • Redis Pipelining
  • Pipelining VS Scripting
Publish and Subsribe
  • Related Commands
  • Format of pushed messages
  • Database & Scoping
Redis Lua scripts debugger
  • Termination of the debugging session
  • Abbreviating debugging commands
  • Breakpoints
  • Dynamic breakpoints
  • Synchronous mode
  • Logging from scripts
  • Debugging clients
Memory optimization
  • Special encoding of small aggregate data types
  • Using 32 bit instances
  • Bit and byte level operations
  • Memory allocation
Using Redis as an LRU cache
  • Maxmemory configuration directive
  • Eviction policies
  • How the eviction process works
  • Approximated LRU algorithm
  • LFU mode
Transactions
  • Using Transactions
  • Errors inside a transaction
  • Roll backs in Redis
  • Discarding the command queue
  • Optimistic locking using check-and-set
  • Understanding WATCH
Redis Mass Insertion
  • Using the protocol
  • Generating Redis Protocol
Partitioning
  • Why use Partitioning?
  • Partitioning basics
  • Different implementations of partitioning
  • Disadvantages of partitioning
  • Data store or cache
  • Presharding
  • Redis Cluster
  • Twemproxy
Secondary indexing with Redis
  • Simple numerical indexes with sorted sets
  • Updating simple sorted set indexes
  • Multi dimensional data into linear data
  • Lexicographical indexes

The classroom training will be provided in Bangalore (Bengaluru), Chennai, Hyderabad or Mumbai and will be conducted in the client's premises. All the necessary hardware/software infrastructure must be provided by the client.