SlideShare a Scribd company logo
REDIS:
INSTALLATION,
CONFIGURATION &
IMPLEMENTATION
Everything and Anything I.T
By
Abhijeet Shekhar
Installation
Linux: http://redis.io/download
Windows
1. Clone from Git repo:
https://github.com/MSOpenTech/redis
2. Unzip file from /redis/bin/release
(e.g. redisbin64.zip) to /redis
3. Important files:
 /redis/redis-server.exe
 /redis/redis-cli.exe
Configuration
 Configuration file: /redis/redis.conf
 It is possible to change a port (if you wish):
 For development environment it is useful to
change data persisting policy
port 6379
save 900 1
save 300 10
save 60 10000
save 10 1
save after 10 sec if at least 1 key changed
Running Redis Server
 Run /redis/bin/redis-server.exe and
specify configuration file to use
redis>redis-server redis.conf
Running Redis Client
 Run /redis/bin/redis-cli.exe
 Now you can play with Redis a little bit
Useful Commands
 Print all keys:
 Remove all keys from all databases
 Synchronously save the dataset to disk
KEYS *
FLUSHALL
SAVE
Redis keys
 Keys are binary safe - it is possible to use any
binary sequence as a key
 The empty string is also a valid key
 Too long keys are not a good idea
 Too short keys are often also not a good idea
("u:1000:pwd" versus "user:1000:password")
 Nice idea is to use some kind of schema, like:
"object-type:id:field"
Redis data types
Redis is often referred to as a data structure
server since keys can contain:
 Strings
 Lists
 Sets
 Hashes
 Sorted Sets
Redis Strings: Example
Redis Lists
 Lists of strings, sorted by insertion order
 Add elements to a Redis List pushing new
elements on the head (on the left) or on the tail
(on the right) of the list
 Max length: (2^32 - 1) elements
 Model a timeline in a social network, using LPUSH
to add new elements, and using LRANGE in order
to retrieve recent items
 Use LPUSH together with LTRIM to create a list
that never exceeds a given number of elements
Redis Lists: Example
Redis Sorted Sets
 Every member of a Sorted Set is associated with
score, that is used in order to take the sorted set
ordered, from the smallest to the greatest score
 You can do a lot of tasks with great performance
that are really hard to model in other kind of
databases
 Probably the most advanced Redis data type
Redis Hashes
 Map between string fields and string values
 Perfect data type to represent objects
HMSET user:1000 username abhi password 123 age 28
HGETALL user:1000
HSET user:1000 password 12345
HGETALL user:1000
Redis Operations
It is possible to run atomic operations on data
types:
 appending to a string
 incrementing the value in a hash
 pushing to a list
 computing set intersection, union and difference
 getting the member with highest ranking in a
sorted set
Redis client
 PHPRedis – PHP Client for Redis
(https://github.com/nicolasff/phpredis)
 JRedis - Java Client for Redis
 Jedis - a blazingly small and sane Redis Java client
 Spring Data Redis
Configuration
By Redis.conf
port 6379
bind 127.0.0.1
maxclients 10000
maxmemory <bytes>
By script
$redis->config("GET", "*max-*-entries*");
$redis->config("SET", "dir",
"/var/run/redis/dumps/");
PHP code
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('key','value', 10); // Will set the key, if it
doesn't exist, with a ttl of 10 seconds
echo $redis->get(‘key’);
?>
Thanks 

More Related Content

Similar to Redis Installation Configuration And Implementation

quickguide-einnovator-9-redis
quickguide-einnovator-9-redisquickguide-einnovator-9-redis
quickguide-einnovator-9-redisjorgesimao71
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
Tanu Siwag
 
Redispresentation apac2012
Redispresentation apac2012Redispresentation apac2012
Redispresentation apac2012
Ankur Gupta
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
Itamar Haber
 
Fun with Ruby and Redis
Fun with Ruby and RedisFun with Ruby and Redis
Fun with Ruby and Redis
javier ramirez
 
Redis
RedisRedis
Extend Redis with Modules
Extend Redis with ModulesExtend Redis with Modules
Extend Redis with Modules
Itamar Haber
 
Redis introduction
Redis introductionRedis introduction
Developing a Redis Module - Hackathon Kickoff
 Developing a Redis Module - Hackathon Kickoff Developing a Redis Module - Hackathon Kickoff
Developing a Redis Module - Hackathon Kickoff
Itamar Haber
 
Redis overview
Redis overviewRedis overview
Redis overview
Ashokkumar T A
 
Work Stealing For Fun & Profit: Jim Nelson
Work Stealing For Fun & Profit: Jim NelsonWork Stealing For Fun & Profit: Jim Nelson
Work Stealing For Fun & Profit: Jim Nelson
Redis Labs
 
Red Hat Certified engineer course
  Red Hat Certified engineer course   Red Hat Certified engineer course
Red Hat Certified engineer course
Ali Abdo
 
Linux_Commands_MT.pdf
Linux_Commands_MT.pdfLinux_Commands_MT.pdf
Linux_Commands_MT.pdf
RameshN849679
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
Paddy Lock
 
Redis. Seattle Data Science and Data Engineering Meetup
Redis. Seattle Data Science and Data Engineering MeetupRedis. Seattle Data Science and Data Engineering Meetup
Redis. Seattle Data Science and Data Engineering Meetup
Abhishek Goswami
 
Redis basics
Redis basicsRedis basics
Redis basics
Arthur Shvetsov
 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)
Itamar Haber
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
NexThoughts Technologies
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questionsKavya Sri
 
Linux basic
Linux basicLinux basic
Linux basic
Pragyagupta37
 

Similar to Redis Installation Configuration And Implementation (20)

quickguide-einnovator-9-redis
quickguide-einnovator-9-redisquickguide-einnovator-9-redis
quickguide-einnovator-9-redis
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
 
Redispresentation apac2012
Redispresentation apac2012Redispresentation apac2012
Redispresentation apac2012
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Fun with Ruby and Redis
Fun with Ruby and RedisFun with Ruby and Redis
Fun with Ruby and Redis
 
Redis
RedisRedis
Redis
 
Extend Redis with Modules
Extend Redis with ModulesExtend Redis with Modules
Extend Redis with Modules
 
Redis introduction
Redis introductionRedis introduction
Redis introduction
 
Developing a Redis Module - Hackathon Kickoff
 Developing a Redis Module - Hackathon Kickoff Developing a Redis Module - Hackathon Kickoff
Developing a Redis Module - Hackathon Kickoff
 
Redis overview
Redis overviewRedis overview
Redis overview
 
Work Stealing For Fun & Profit: Jim Nelson
Work Stealing For Fun & Profit: Jim NelsonWork Stealing For Fun & Profit: Jim Nelson
Work Stealing For Fun & Profit: Jim Nelson
 
Red Hat Certified engineer course
  Red Hat Certified engineer course   Red Hat Certified engineer course
Red Hat Certified engineer course
 
Linux_Commands_MT.pdf
Linux_Commands_MT.pdfLinux_Commands_MT.pdf
Linux_Commands_MT.pdf
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Redis. Seattle Data Science and Data Engineering Meetup
Redis. Seattle Data Science and Data Engineering MeetupRedis. Seattle Data Science and Data Engineering Meetup
Redis. Seattle Data Science and Data Engineering Meetup
 
Redis basics
Redis basicsRedis basics
Redis basics
 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questions
 
Linux basic
Linux basicLinux basic
Linux basic
 

Recently uploaded

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Yara Milbes
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 

Redis Installation Configuration And Implementation

  • 2. Installation Linux: http://redis.io/download Windows 1. Clone from Git repo: https://github.com/MSOpenTech/redis 2. Unzip file from /redis/bin/release (e.g. redisbin64.zip) to /redis 3. Important files:  /redis/redis-server.exe  /redis/redis-cli.exe
  • 3. Configuration  Configuration file: /redis/redis.conf  It is possible to change a port (if you wish):  For development environment it is useful to change data persisting policy port 6379 save 900 1 save 300 10 save 60 10000 save 10 1 save after 10 sec if at least 1 key changed
  • 4. Running Redis Server  Run /redis/bin/redis-server.exe and specify configuration file to use redis>redis-server redis.conf
  • 5. Running Redis Client  Run /redis/bin/redis-cli.exe  Now you can play with Redis a little bit
  • 6. Useful Commands  Print all keys:  Remove all keys from all databases  Synchronously save the dataset to disk KEYS * FLUSHALL SAVE
  • 7. Redis keys  Keys are binary safe - it is possible to use any binary sequence as a key  The empty string is also a valid key  Too long keys are not a good idea  Too short keys are often also not a good idea ("u:1000:pwd" versus "user:1000:password")  Nice idea is to use some kind of schema, like: "object-type:id:field"
  • 8. Redis data types Redis is often referred to as a data structure server since keys can contain:  Strings  Lists  Sets  Hashes  Sorted Sets
  • 10. Redis Lists  Lists of strings, sorted by insertion order  Add elements to a Redis List pushing new elements on the head (on the left) or on the tail (on the right) of the list  Max length: (2^32 - 1) elements  Model a timeline in a social network, using LPUSH to add new elements, and using LRANGE in order to retrieve recent items  Use LPUSH together with LTRIM to create a list that never exceeds a given number of elements
  • 12. Redis Sorted Sets  Every member of a Sorted Set is associated with score, that is used in order to take the sorted set ordered, from the smallest to the greatest score  You can do a lot of tasks with great performance that are really hard to model in other kind of databases  Probably the most advanced Redis data type
  • 13. Redis Hashes  Map between string fields and string values  Perfect data type to represent objects HMSET user:1000 username abhi password 123 age 28 HGETALL user:1000 HSET user:1000 password 12345 HGETALL user:1000
  • 14. Redis Operations It is possible to run atomic operations on data types:  appending to a string  incrementing the value in a hash  pushing to a list  computing set intersection, union and difference  getting the member with highest ranking in a sorted set
  • 15. Redis client  PHPRedis – PHP Client for Redis (https://github.com/nicolasff/phpredis)  JRedis - Java Client for Redis  Jedis - a blazingly small and sane Redis Java client  Spring Data Redis
  • 16. Configuration By Redis.conf port 6379 bind 127.0.0.1 maxclients 10000 maxmemory <bytes> By script $redis->config("GET", "*max-*-entries*"); $redis->config("SET", "dir", "/var/run/redis/dumps/");
  • 17. PHP code <?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->set('key','value', 10); // Will set the key, if it doesn't exist, with a ttl of 10 seconds echo $redis->get(‘key’); ?>