This document provides instructions for installing and configuring Redis on Linux and Windows systems. It explains how to install Redis from source code or binary files, configure the Redis configuration file to customize settings like the server port, and run the Redis server and client programs. It also gives an overview of common Redis data types like strings, lists, hashes and sets, and provides code examples for working with Redis using different programming languages and clients.
1 of 18
Downloaded 22 times
More Related Content
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 ¨C 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¡¯);
?>