SlideShare a Scribd company logo
1 of 27
From Client to   developer   execution


           Disclaimer
Disclaimer
This lecture and slides should be used only in
 humor, and that's how it should be understood
If you find it offensive in any way, please do not
   use this slides, and go out from the lecture !
What does people think Redis is ?
So what is Redis ?
Open source in memory fast binary safe database
 that support the following:
  Key Value information
  Arrays/Lists and nested lists
  Sets/Sorted Sets
  Hashes
  Type of Message Queue
  Distributed work
Ah, yes, but what is Redis ?


        Hello my name is
    REmote Dictionary Server

          prepare to die
OK, it's a Key Value database
    Are you happy now ?
How I met Redis ?


 I needed to use it with an Object Pascal based
Project, and there was no Object Pascal client …

          So I started to work on one:
     https://github.com/ik5/redis_client.fpc

     And I still do (when I have free time ...)
What is the first rule of Redis ?
You do not talk about Redis …

Redis's developer created most client
 libraries that exists today …

The documentation that you see, well it's
 can be better:

  What you read and what that is
    implemented are different things
    (sometimes)

  There are a lot of missing information,
So how do you write a client for
              Redis ?
Reading the Protocol documentation (well, duh …)
Finding that some of the real implementation is
  different then the protocol itself
Wishing a slow death to the developer
Bitching about it at your blog (posts)
Asking yourself: why don't you use a dynamic
 programming language ...
Sitting down and solving the problems
Why ?


 It's very readable programming language
 It's string types (yes in plural) are easy to use
 Because it is one of the best compiled programming
languages ever existed

Because I can !
Can you show us an example ?
…
var
  my_command : TRedisAbstractCommands;
…

writeln(my_command.ParamsToStr(['a', 3.14, 
  False]));
…
(* output as string :
   arn3.14rnFalsern *)
In soviet Russia several ways implement you
Four ways to implement the client:
  Thinking like dynamic language (but code in Pascal)
  Thinking in C (but code in Pascal)
  Thinking in Java/C# (but code in Pascal)
  Think in Pascal …
I read few implementation of the clients:
   Lua, Ruby, Perl, Python, Java and C
Decided on the 4th way as the proper way
Research and documentation
 by me on each command !
“To infinity and beyond”
Data types
                             TPersistent




                          TRedisReturnType




 TRedisNullReturnType                        TRedisNumericReturnType


TRedisStatusReturnType                        TRedisErrorReturnType

                                             TRedisMultiBulkReturnTyp
TRedisBulkReturnType
                                                         e
There shell be a command !
                                 TRedisObject




  TRedisParser                                            TRedisAbstractCommands




Command group      Command group                Command group    Command group




                 Command group              Command group
Few more words regarding commands

 Every new version of Redis has new/changes to
  commands.
 Can't support such changes for long time
 So I my library helping you, by allowing you to
  call commands, never existed when I wrote
  the client, without going insane !

 OK, You might go insane, but not because of my
  library...
Sockets



 TSynaClient




  TRedisIO
Debug, Errors and log files
Each class can have it's own log file for
 debug/error or no file at all !
You can use also the same logger for every
 class
Your own error handlers using callbacks, or just
 let exception raise up
The final slide
Should we use Redis ?
The final slide
Should we use Redis ?
Oh fuck, it's a Perl lecture, I forgot to add some
 details on that ...
Redis and Perl
main module: https://metacpan.org/module/Redis
some benchmarks:
  http://blogs.perl.org/users/wolfgang_kinkeldei/2012/01
servers, plugins, and interesting stuff:
  https://metacpan.org/module/Redis::Queue
  https://metacpan.org/module/Nginx::Redis
  https://metacpan.org/module/Redis::hiredis
  https://metacpan.org/module/Redis::Client
  https://metacpan.org/module/AnyEvent::Redis
  https://metacpan.org/module/Protocol::Redis
  https://metacpan.org/module/Tie::Redis
  https://metacpan.org/module/MojoX::Redis
The final slide
Right, so what did I asked ?
The final slide
Should we use Redis ?



 A   Yes
 B   No
 C   All of the above
Credits
Angry bird
Excited
Bored
MemCached
Redis
Buzz Lightyear
Questions ?

More Related Content

What's hot

TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersRutenis Turcinas
 
Power Leveling your TypeScript
Power Leveling your TypeScriptPower Leveling your TypeScript
Power Leveling your TypeScriptOffirmo
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorialknoppix
 
Learning at the Speed of JavaScript
Learning at the Speed of JavaScriptLearning at the Speed of JavaScript
Learning at the Speed of JavaScriptJake Witcher
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practicesfelixbillon
 
Code quality tools for dev
Code quality tools for devCode quality tools for dev
Code quality tools for devDeepu S Nath
 

What's hot (10)

Ruby Hell Yeah
Ruby Hell YeahRuby Hell Yeah
Ruby Hell Yeah
 
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
 
Power Leveling your TypeScript
Power Leveling your TypeScriptPower Leveling your TypeScript
Power Leveling your TypeScript
 
Lfnw2016
Lfnw2016Lfnw2016
Lfnw2016
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
Learning at the Speed of JavaScript
Learning at the Speed of JavaScriptLearning at the Speed of JavaScript
Learning at the Speed of JavaScript
 
Typescript Basics
Typescript BasicsTypescript Basics
Typescript Basics
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practices
 
Code quality tools for dev
Code quality tools for devCode quality tools for dev
Code quality tools for dev
 
Object Calisthenics
Object CalisthenicsObject Calisthenics
Object Calisthenics
 

Similar to Redis - from client to execution

Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?mikaelbarbero
 
Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...IndicThreads
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Espen Brækken
 
Test Driven Infrastructure
Test Driven InfrastructureTest Driven Infrastructure
Test Driven InfrastructureArthur Maltson
 
Low maintenance perl notes
Low maintenance perl notesLow maintenance perl notes
Low maintenance perl notesPerrin Harkins
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic RevisitedAdam Keys
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...Maarten Balliauw
 
Workin ontherailsroad
Workin ontherailsroadWorkin ontherailsroad
Workin ontherailsroadJim Jones
 
WorkinOnTheRailsRoad
WorkinOnTheRailsRoadWorkinOnTheRailsRoad
WorkinOnTheRailsRoadwebuploader
 
Fun with Ruby and Redis
Fun with Ruby and RedisFun with Ruby and Redis
Fun with Ruby and Redisjavier ramirez
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleTom Croucher
 
Building scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thriftBuilding scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thriftTalentica Software
 
Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)
Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)
Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)PVS-Studio
 

Similar to Redis - from client to execution (20)

Redis and Ohm
Redis and OhmRedis and Ohm
Redis and Ohm
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
 
How to code
How to codeHow to code
How to code
 
Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...
 
Php’s guts
Php’s gutsPhp’s guts
Php’s guts
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex
 
Test Driven Infrastructure
Test Driven InfrastructureTest Driven Infrastructure
Test Driven Infrastructure
 
Introduction to-php
Introduction to-phpIntroduction to-php
Introduction to-php
 
Avro
AvroAvro
Avro
 
Low maintenance perl notes
Low maintenance perl notesLow maintenance perl notes
Low maintenance perl notes
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic Revisited
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
Workin ontherailsroad
Workin ontherailsroadWorkin ontherailsroad
Workin ontherailsroad
 
WorkinOnTheRailsRoad
WorkinOnTheRailsRoadWorkinOnTheRailsRoad
WorkinOnTheRailsRoad
 
Fun with Ruby and Redis
Fun with Ruby and RedisFun with Ruby and Redis
Fun with Ruby and Redis
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scale
 
Building scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thriftBuilding scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thrift
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
 
ruby pentest
ruby pentestruby pentest
ruby pentest
 
Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)
Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)
Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)
 

Recently uploaded

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Redis - from client to execution

  • 1. From Client to developer execution Disclaimer
  • 2. Disclaimer This lecture and slides should be used only in humor, and that's how it should be understood If you find it offensive in any way, please do not use this slides, and go out from the lecture !
  • 3. What does people think Redis is ?
  • 4. So what is Redis ? Open source in memory fast binary safe database that support the following: Key Value information Arrays/Lists and nested lists Sets/Sorted Sets Hashes Type of Message Queue Distributed work
  • 5. Ah, yes, but what is Redis ? Hello my name is REmote Dictionary Server prepare to die
  • 6.
  • 7. OK, it's a Key Value database Are you happy now ?
  • 8. How I met Redis ? I needed to use it with an Object Pascal based Project, and there was no Object Pascal client … So I started to work on one: https://github.com/ik5/redis_client.fpc And I still do (when I have free time ...)
  • 9. What is the first rule of Redis ? You do not talk about Redis … Redis's developer created most client libraries that exists today … The documentation that you see, well it's can be better: What you read and what that is implemented are different things (sometimes) There are a lot of missing information,
  • 10. So how do you write a client for Redis ? Reading the Protocol documentation (well, duh …) Finding that some of the real implementation is different then the protocol itself Wishing a slow death to the developer Bitching about it at your blog (posts) Asking yourself: why don't you use a dynamic programming language ... Sitting down and solving the problems
  • 11.
  • 12. Why ? It's very readable programming language It's string types (yes in plural) are easy to use Because it is one of the best compiled programming languages ever existed Because I can !
  • 13. Can you show us an example ? … var   my_command : TRedisAbstractCommands; … writeln(my_command.ParamsToStr(['a', 3.14,  False])); … (* output as string :    arn3.14rnFalsern *)
  • 14.
  • 15. In soviet Russia several ways implement you Four ways to implement the client: Thinking like dynamic language (but code in Pascal) Thinking in C (but code in Pascal) Thinking in Java/C# (but code in Pascal) Think in Pascal … I read few implementation of the clients: Lua, Ruby, Perl, Python, Java and C Decided on the 4th way as the proper way Research and documentation by me on each command ! “To infinity and beyond”
  • 16. Data types TPersistent TRedisReturnType TRedisNullReturnType TRedisNumericReturnType TRedisStatusReturnType TRedisErrorReturnType TRedisMultiBulkReturnTyp TRedisBulkReturnType e
  • 17. There shell be a command ! TRedisObject TRedisParser TRedisAbstractCommands Command group Command group Command group Command group Command group Command group
  • 18. Few more words regarding commands Every new version of Redis has new/changes to commands. Can't support such changes for long time So I my library helping you, by allowing you to call commands, never existed when I wrote the client, without going insane ! OK, You might go insane, but not because of my library...
  • 20. Debug, Errors and log files Each class can have it's own log file for debug/error or no file at all ! You can use also the same logger for every class Your own error handlers using callbacks, or just let exception raise up
  • 21. The final slide Should we use Redis ?
  • 22. The final slide Should we use Redis ? Oh fuck, it's a Perl lecture, I forgot to add some details on that ...
  • 23. Redis and Perl main module: https://metacpan.org/module/Redis some benchmarks: http://blogs.perl.org/users/wolfgang_kinkeldei/2012/01 servers, plugins, and interesting stuff: https://metacpan.org/module/Redis::Queue https://metacpan.org/module/Nginx::Redis https://metacpan.org/module/Redis::hiredis https://metacpan.org/module/Redis::Client https://metacpan.org/module/AnyEvent::Redis https://metacpan.org/module/Protocol::Redis https://metacpan.org/module/Tie::Redis https://metacpan.org/module/MojoX::Redis
  • 24. The final slide Right, so what did I asked ?
  • 25. The final slide Should we use Redis ? A Yes B No C All of the above