SlideShare a Scribd company logo
1 of 21
AZURE REDIS CACHE Cache on Steroids!
ABOUT ME
AGENDA
• Redis Cache Introduction
• Azure Redis
• Demo - Sample Application
• Data Types
• Queue Pattern
• Pub / Sub
• Azure Scalability (Tiers)
REDIS DEFINITION
Redis is an open source, (BSD licensed), in-memory
data structure store, used as database, cache and
message broker. It supports data structures such as
strings, hashes, lists, sets, sorted sets with range
queries, bitmaps, hyperloglogs, and geospatial
indexes with radius queries.
REDIS - REmote DIctionary Server


Redis.io
WHO USES REDIS?
COMMON REDIS USAGES
• Show latest items in home page
• Leaderboards
• Counting Stuff - Page Hits
• Session State , Output Cache
• Unique Visitors
• Caching
CREATE YOUR
FIRST REDIS CACHE
REDIS - DATA TYPES
• String - key value
• Lists - list of string, sorted by insertion order
• Hashes - map between string fields and string values
• Sets - unordered collection of strings
• Sorted Set - similar to sets but each entry has an associated
“score”
SAMPLE APPLICATION -TWEETER
• Tweets
• Timeline
• Accounts
• Account Statistics
• Followers
• Following
• Favorite Hashtags
by Marc Dugas
Features
• Can store any kind of data (JPEG images, serialized JSON)
• Maximum size 512MB
Operations
• INCR, DECR, INCRBY, APPEND, EXPIRE
Uses
• Counters (Hits), Rate Limiter (API)
key value
STRING DATA TYPE
key
9numberoffollo
wers
tweetcount 843
HASH DATA TYPE
Features
• Map between string fields and string
value
• 4 billion fields per hash
Operations
• HGET, HSET, HINCRBY
Uses
• Statistics for Entity (ex: Number of
Followers)
d a bc
LIST DATA TYPE
Features
• List of strings sorted by insertion order
• Can add to head or tail
• 4 billion elements per list
• Very fast access to items from head/tail
Operations
• LPUSH, RPUSH, LRANGE, LTRIM, LPOP,
RPOP
Uses
• Timeline
a
e
c
bd
f
SET DATA TYPE
Features
• Unordered collection of strings, no repeating members
• Add/Remove and test for existing extremely quick
• 4 billion elements per set
• Union and Intersection between sets
Operations
• SADD, SREM, SUNION, SINTER
Uses
• Common Followers
Features
• Similar to Set → no repeating members
• Each member is associated with a score that is used to order the set
Operations
• ZADD, ZRANGE, ZRANK
Uses
• Leaderboards
c
9
a
3
b
-1
member
score
SORTED SET DATA TYPE
background workers
waitinglist
processinglist
producer
QUEUE PATTERN
Approach
• Leverage the Redis List Commands to create a distributed queuing
mechanism
Operations
• Enqueue  LPUSH (add to waitinglist)
• Dequeue  RPOPLPUSH (RPOP from waitinglist, LPUSH on
processinglist)
• Post Processing  LREM (remove from processinglist )
Features
• Implementation of the Publish/Subscribe paradigm
• Messages are “published” into channels (no knowledge of subscribers)
• Subscribers express interest in channel and receive messages from that
channel
Operations
• PUBLISH , SUBSCRIBE, UNSUBSCRIBE
Uses
• Real time applications, SignalR Scaleout
publisher
channel
subscribers
PUBLISH/SUBSCRIBE PATTERN
REDIS COMMANDS
• Console in Azure Portal
• Redis command line tools
redis.io/commands
METRICS
Tier Pricing Tier Node(s) Size MBPS Request per
second
SLA
Basic
C0 - C6
1 node
250MB - 53GB 5 - 2,000 600 - 150,000

Standard 2 nodes
Primary/Secondary 
Premium P1 - P4 1 - 1000 node(s) 6GB - 53GB 2,000 -
4,000
140,000 -
250,000

AZURE REDIS
Premium Tier
• Faster hardware
• Higher throughput, lower latencies
• Persistence
• Cluster
WHAT’S NEXT?
Azure Redis Cache - azure.microsoft.com/en-
us/services/cache
Redis Cache - redis.io
Twitter: @fboucheros
Blog: frankysnotes.com
Blog (FR): cloudenfrancais.com

More Related Content

What's hot

An introduction to Pincaster
An introduction to PincasterAn introduction to Pincaster
An introduction to PincasterFrank Denis
 
System Architecture of GBIF
System Architecture of GBIFSystem Architecture of GBIF
System Architecture of GBIFOliver Meyn
 
Hive big-data meetup
Hive big-data meetupHive big-data meetup
Hive big-data meetupRemus Rusanu
 
Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5Burak TUNGUT
 
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...Spark Summit
 
Apache Spark Fundamentals
Apache Spark FundamentalsApache Spark Fundamentals
Apache Spark FundamentalsZahra Eskandari
 
Introdution to Apache Hadoop
Introdution to Apache HadoopIntrodution to Apache Hadoop
Introdution to Apache HadoopMike Frampton
 
Sphinx - High performance full-text search for MySQL
Sphinx - High performance full-text search for MySQLSphinx - High performance full-text search for MySQL
Sphinx - High performance full-text search for MySQLNguyen Van Vuong
 
Share point 2013 on azure
Share point 2013 on azureShare point 2013 on azure
Share point 2013 on azurePrabath Fonseka
 
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
What I learnt: Elastic search & Kibana : introduction, installtion & configur...What I learnt: Elastic search & Kibana : introduction, installtion & configur...
What I learnt: Elastic search & Kibana : introduction, installtion & configur...Rahul K Chauhan
 
Drupal and the Semantic Web - ESIP Webinar
Drupal and the Semantic Web - ESIP WebinarDrupal and the Semantic Web - ESIP Webinar
Drupal and the Semantic Web - ESIP Webinarscorlosquet
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Vinay Kumar
 
Redis - Your Magical superfast database
Redis - Your Magical superfast databaseRedis - Your Magical superfast database
Redis - Your Magical superfast databasethe100rabh
 

What's hot (19)

Big data
Big dataBig data
Big data
 
An introduction to Pincaster
An introduction to PincasterAn introduction to Pincaster
An introduction to Pincaster
 
System Architecture of GBIF
System Architecture of GBIFSystem Architecture of GBIF
System Architecture of GBIF
 
KeyValue Stores
KeyValue StoresKeyValue Stores
KeyValue Stores
 
Hive big-data meetup
Hive big-data meetupHive big-data meetup
Hive big-data meetup
 
Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5
 
What's new in solr june 2014
What's new in solr june 2014What's new in solr june 2014
What's new in solr june 2014
 
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...
Spark as a Platform to Support Multi-Tenancy and Many Kinds of Data Applicati...
 
Apache Spark Fundamentals
Apache Spark FundamentalsApache Spark Fundamentals
Apache Spark Fundamentals
 
Introdution to Apache Hadoop
Introdution to Apache HadoopIntrodution to Apache Hadoop
Introdution to Apache Hadoop
 
Big data stores
Big data  storesBig data  stores
Big data stores
 
Sphinx - High performance full-text search for MySQL
Sphinx - High performance full-text search for MySQLSphinx - High performance full-text search for MySQL
Sphinx - High performance full-text search for MySQL
 
Share point 2013 on azure
Share point 2013 on azureShare point 2013 on azure
Share point 2013 on azure
 
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
What I learnt: Elastic search & Kibana : introduction, installtion & configur...What I learnt: Elastic search & Kibana : introduction, installtion & configur...
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
 
Terraform 101
Terraform 101Terraform 101
Terraform 101
 
Drupal and the Semantic Web - ESIP Webinar
Drupal and the Semantic Web - ESIP WebinarDrupal and the Semantic Web - ESIP Webinar
Drupal and the Semantic Web - ESIP Webinar
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
 
Redis - Your Magical superfast database
Redis - Your Magical superfast databaseRedis - Your Magical superfast database
Redis - Your Magical superfast database
 
Hive training
Hive trainingHive training
Hive training
 

Viewers also liked

Connect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic AppConnect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic AppFrançois Boucher
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows AzureIdo Flatow
 
MS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageMS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageSpiffy
 
Redis in Practice
Redis in PracticeRedis in Practice
Redis in PracticeNoah Davis
 

Viewers also liked (7)

Connect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic AppConnect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic App
 
Caching in Windows Azure
Caching in Windows AzureCaching in Windows Azure
Caching in Windows Azure
 
Azure Redis Cache
Azure Redis CacheAzure Redis Cache
Azure Redis Cache
 
MS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storageMS Cloud Day - Building web applications with Azure storage
MS Cloud Day - Building web applications with Azure storage
 
Cloud security
Cloud securityCloud security
Cloud security
 
Microsoft Azure catch-up
Microsoft Azure catch-upMicrosoft Azure catch-up
Microsoft Azure catch-up
 
Redis in Practice
Redis in PracticeRedis in Practice
Redis in Practice
 

Similar to Azure Redis Cache - Cache on Steroids!

Spark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir VolkSpark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir VolkSpark Summit
 
Redis Modules - Redis India Tour - 2017
Redis Modules - Redis India Tour - 2017Redis Modules - Redis India Tour - 2017
Redis Modules - Redis India Tour - 2017HashedIn Technologies
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to RedisOfer Zelig
 
The No SQL Principles and Basic Application Of Casandra Model
The No SQL Principles and Basic Application Of Casandra ModelThe No SQL Principles and Basic Application Of Casandra Model
The No SQL Principles and Basic Application Of Casandra ModelRishikese MR
 
DataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-ServiceDataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-ServiceMarin Dimitrov
 
Apache Solr - Enterprise search platform
Apache Solr - Enterprise search platformApache Solr - Enterprise search platform
Apache Solr - Enterprise search platformTommaso Teofili
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureArthur Gimpel
 
Solr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for HadoopSolr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for Hadoopgregchanan
 
HBase in Practice
HBase in PracticeHBase in Practice
HBase in Practicelarsgeorge
 
Big Data Developers Moscow Meetup 1 - sql on hadoop
Big Data Developers Moscow Meetup 1  - sql on hadoopBig Data Developers Moscow Meetup 1  - sql on hadoop
Big Data Developers Moscow Meetup 1 - sql on hadoopbddmoscow
 
Object Relational Database Management System
Object Relational Database Management SystemObject Relational Database Management System
Object Relational Database Management SystemAmar Myana
 

Similar to Azure Redis Cache - Cache on Steroids! (20)

Elasticsearch Introduction at BigData meetup
Elasticsearch Introduction at BigData meetupElasticsearch Introduction at BigData meetup
Elasticsearch Introduction at BigData meetup
 
Revision
RevisionRevision
Revision
 
Spark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir VolkSpark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir Volk
 
REDIS327
REDIS327REDIS327
REDIS327
 
Redis Modules - Redis India Tour - 2017
Redis Modules - Redis India Tour - 2017Redis Modules - Redis India Tour - 2017
Redis Modules - Redis India Tour - 2017
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
The No SQL Principles and Basic Application Of Casandra Model
The No SQL Principles and Basic Application Of Casandra ModelThe No SQL Principles and Basic Application Of Casandra Model
The No SQL Principles and Basic Application Of Casandra Model
 
DataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-ServiceDataGraft Platform: RDF Database-as-a-Service
DataGraft Platform: RDF Database-as-a-Service
 
Apache Solr - Enterprise search platform
Apache Solr - Enterprise search platformApache Solr - Enterprise search platform
Apache Solr - Enterprise search platform
 
Search On Hadoop
Search On HadoopSearch On Hadoop
Search On Hadoop
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data Architecture
 
Solr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for HadoopSolr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for Hadoop
 
HBase in Practice
HBase in Practice HBase in Practice
HBase in Practice
 
HBase in Practice
HBase in PracticeHBase in Practice
HBase in Practice
 
An intro to Azure Data Lake
An intro to Azure Data LakeAn intro to Azure Data Lake
An intro to Azure Data Lake
 
Python redis talk
Python redis talkPython redis talk
Python redis talk
 
Big data Hadoop
Big data  Hadoop   Big data  Hadoop
Big data Hadoop
 
Redis Labcamp
Redis LabcampRedis Labcamp
Redis Labcamp
 
Big Data Developers Moscow Meetup 1 - sql on hadoop
Big Data Developers Moscow Meetup 1  - sql on hadoopBig Data Developers Moscow Meetup 1  - sql on hadoop
Big Data Developers Moscow Meetup 1 - sql on hadoop
 
Object Relational Database Management System
Object Relational Database Management SystemObject Relational Database Management System
Object Relational Database Management System
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Azure Redis Cache - Cache on Steroids!

  • 1. AZURE REDIS CACHE Cache on Steroids!
  • 3. AGENDA • Redis Cache Introduction • Azure Redis • Demo - Sample Application • Data Types • Queue Pattern • Pub / Sub • Azure Scalability (Tiers)
  • 4.
  • 5. REDIS DEFINITION Redis is an open source, (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, and geospatial indexes with radius queries. REDIS - REmote DIctionary Server   Redis.io
  • 7. COMMON REDIS USAGES • Show latest items in home page • Leaderboards • Counting Stuff - Page Hits • Session State , Output Cache • Unique Visitors • Caching
  • 9. REDIS - DATA TYPES • String - key value • Lists - list of string, sorted by insertion order • Hashes - map between string fields and string values • Sets - unordered collection of strings • Sorted Set - similar to sets but each entry has an associated “score”
  • 10. SAMPLE APPLICATION -TWEETER • Tweets • Timeline • Accounts • Account Statistics • Followers • Following • Favorite Hashtags by Marc Dugas
  • 11. Features • Can store any kind of data (JPEG images, serialized JSON) • Maximum size 512MB Operations • INCR, DECR, INCRBY, APPEND, EXPIRE Uses • Counters (Hits), Rate Limiter (API) key value STRING DATA TYPE
  • 12. key 9numberoffollo wers tweetcount 843 HASH DATA TYPE Features • Map between string fields and string value • 4 billion fields per hash Operations • HGET, HSET, HINCRBY Uses • Statistics for Entity (ex: Number of Followers)
  • 13. d a bc LIST DATA TYPE Features • List of strings sorted by insertion order • Can add to head or tail • 4 billion elements per list • Very fast access to items from head/tail Operations • LPUSH, RPUSH, LRANGE, LTRIM, LPOP, RPOP Uses • Timeline
  • 14. a e c bd f SET DATA TYPE Features • Unordered collection of strings, no repeating members • Add/Remove and test for existing extremely quick • 4 billion elements per set • Union and Intersection between sets Operations • SADD, SREM, SUNION, SINTER Uses • Common Followers
  • 15. Features • Similar to Set → no repeating members • Each member is associated with a score that is used to order the set Operations • ZADD, ZRANGE, ZRANK Uses • Leaderboards c 9 a 3 b -1 member score SORTED SET DATA TYPE
  • 16. background workers waitinglist processinglist producer QUEUE PATTERN Approach • Leverage the Redis List Commands to create a distributed queuing mechanism Operations • Enqueue  LPUSH (add to waitinglist) • Dequeue  RPOPLPUSH (RPOP from waitinglist, LPUSH on processinglist) • Post Processing  LREM (remove from processinglist )
  • 17. Features • Implementation of the Publish/Subscribe paradigm • Messages are “published” into channels (no knowledge of subscribers) • Subscribers express interest in channel and receive messages from that channel Operations • PUBLISH , SUBSCRIBE, UNSUBSCRIBE Uses • Real time applications, SignalR Scaleout publisher channel subscribers PUBLISH/SUBSCRIBE PATTERN
  • 18. REDIS COMMANDS • Console in Azure Portal • Redis command line tools redis.io/commands
  • 20. Tier Pricing Tier Node(s) Size MBPS Request per second SLA Basic C0 - C6 1 node 250MB - 53GB 5 - 2,000 600 - 150,000  Standard 2 nodes Primary/Secondary  Premium P1 - P4 1 - 1000 node(s) 6GB - 53GB 2,000 - 4,000 140,000 - 250,000  AZURE REDIS Premium Tier • Faster hardware • Higher throughput, lower latencies • Persistence • Cluster
  • 21. WHAT’S NEXT? Azure Redis Cache - azure.microsoft.com/en- us/services/cache Redis Cache - redis.io Twitter: @fboucheros Blog: frankysnotes.com Blog (FR): cloudenfrancais.com

Editor's Notes

  1. In memory data structure server
  2. Redis - Data Structure Store
  3. Give Demo of Tweeter Application
  4. Usages: Counter, Rate Limiter Rate Limiter (i.e. max requests per second): If Key Does Not Exists Create Key with Expiry (ex: 1 second) Increment If Count > LIMIT Raise Error -Show Demo (Creating Tweet)
  5. -Show Demo -Follow → HINCRBY
  6. -Show Demo -Adding Tweet To Timeline → LPUSH -Fetching Timeline → LRANGE
  7. -Show Demo -Common Followers → SINTER -Warn about SINTER, these are more costly operations O(N*M)
  8. -ZADD leaderboard 1 “player1” -ZRANGE leaderboard 0 10 (0 based indexes) -ZRANK leaderboard “player1” -Show Demo (Favorite hashtags)
  9. Operations -Enqueue -> LPUSH (List left Push) -Dequeue -> RPOPLPUSH (Right Pop from one queue, LPUSH on second list) Atomic -Note: A background process can monitor “processinglist” for items that remain for too long and push on the waiting list again -Show Demo (Create Tweet)
  10. DEMO PUBLISH clearlocalcache yes
  11. https://azure.microsoft.com/en-gb/blog/azure-redis-cache-public-preview-of-premium-tier/ http://redis.io/topics/cluster-tutorial -Standard/Premium are configured as two-node Primary/Secondary Replica (Completely managed) -Premium tier : Snapshots, Enhanced Security, access control policies, etc.. When cache greater than 53GB need, can move to a Redis Cluster