SlideShare a Scribd company logo
redis_tutoria0l for new learners step from scratch.pdf
Redis
i
AbouttheTutorial
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to
as a data structure server, since the keys can contain strings, hashes, lists, sets and sorted
sets. Redis is written in C.
This tutorial provides good understanding on Redis concepts, needed to create and deploy
a highly scalable and performance-oriented system.
Audience
This tutorial is designed for Software Professionals who are willing to learn Redis in simple
and easy steps. After completing this tutorial, you will be at an intermediate level of
expertise from where you can take yourself to a higher level of expertise.
Prerequisites
Before proceeding with this tutorial, you should have basic knowledge of Data Structures.
Disclaimer&Copyright
 Copyright 2018 by Tutorials Point (I) Pvt. Ltd.
All the content and graphics published in this e-book are the property of Tutorials Point (I)
Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish
any contents or a part of contents of this e-book in any manner without written consent
of the publisher.
We strive to update the contents of our website and tutorials as timely and as precisely as
possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt.
Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our
website or its contents including this tutorial. If you discover any errors on our website or
in this tutorial, please notify us at contact@tutorialspoint.com.
Redis
ii
TableofContents
About the Tutorial ............................................................................................................................................i
Audience...........................................................................................................................................................i
Prerequisites.....................................................................................................................................................i
Disclaimer & Copyright.....................................................................................................................................i
Table of Contents ............................................................................................................................................ ii
REDIS - BASICS ............................................................................................................................1
1. Redis ─ Overview ......................................................................................................................................2
Redis Advantages ............................................................................................................................................2
2. Redis ─ Environment ................................................................................................................................4
Install Redis on Ubuntu ...................................................................................................................................4
3. Redis ─ Configuration................................................................................................................................5
Edit Configuration............................................................................................................................................9
4. Redis ─ Data Types..................................................................................................................................10
Strings............................................................................................................................................................10
Hashes ...........................................................................................................................................................10
Lists................................................................................................................................................................11
Sets ................................................................................................................................................................11
Sorted Sets.....................................................................................................................................................12
REDIS – COMMANDS ................................................................................................................13
5. Redis ─ Commands..................................................................................................................................14
6. Redis ─ Keys............................................................................................................................................16
Redis Keys Commands...................................................................................................................................16
Keys Del Command........................................................................................................................................18
Keys Dump Command ...................................................................................................................................18
Keys Exists Command....................................................................................................................................19
Keys Expire Command...................................................................................................................................19
Keys Expireat Command................................................................................................................................20
Keys Pexpire Command.................................................................................................................................21
Keys Pexpireat Command..............................................................................................................................21
Keys Command..............................................................................................................................................22
Keys Move Command....................................................................................................................................23
Keys Persist Command ..................................................................................................................................24
Keys Pttl Command .......................................................................................................................................24
Keys Ttl Command.........................................................................................................................................25
Keys Random Key Command.........................................................................................................................26
Keys Rename Command................................................................................................................................26
Keys Renamenx Command............................................................................................................................27
Keys Type Command .....................................................................................................................................28
7. Redis ─ Strings.........................................................................................................................................29
Redis Strings Commands ...............................................................................................................................29
String Set Command......................................................................................................................................32
Redis
iii
String Get Command .....................................................................................................................................33
String Getrange Command............................................................................................................................33
String Getset Command ................................................................................................................................34
String Getbit Command.................................................................................................................................34
String Mget Command ..................................................................................................................................35
String Setbit Command..................................................................................................................................35
String Setex Command ..................................................................................................................................36
String Setnx Command ..................................................................................................................................37
String Setrange Command.............................................................................................................................37
String Strlen Command .................................................................................................................................38
String Mset Command...................................................................................................................................38
String Msetnx Command...............................................................................................................................39
Redis – String Psetex Command....................................................................................................................40
String Incr Command.....................................................................................................................................40
String Incrby Command.................................................................................................................................41
String Incrbyfloat Command..........................................................................................................................41
String Decr Command....................................................................................................................................42
String Decrby Command................................................................................................................................42
String Append Command ..............................................................................................................................43
8. Redis ─ Hashes ........................................................................................................................................44
Redis Hash Commands ..................................................................................................................................45
Hash Hdel Command.....................................................................................................................................47
Hash Hexists Command.................................................................................................................................47
Hash Hget Command.....................................................................................................................................48
Hash Hgetall Command.................................................................................................................................48
Hash Hincrby Command................................................................................................................................49
Hash Hincrbyfloat Command.........................................................................................................................50
Hash Hkeys Command...................................................................................................................................50
Hash Hlen Command.....................................................................................................................................51
Hash Hmget Command..................................................................................................................................51
Hash Hmset Command..................................................................................................................................52
Hash Hset Command .....................................................................................................................................52
Hash Hsetnx Command .................................................................................................................................53
Hash Hvals Command....................................................................................................................................53
Hash Hset Command .....................................................................................................................................54
9. Redis ─ Lists ............................................................................................................................................56
Redis Lists Commands ...................................................................................................................................56
List Blpop Command......................................................................................................................................59
List Brpop Command .....................................................................................................................................59
List Brpoplpush Command ............................................................................................................................60
List Lindex Command ....................................................................................................................................60
List Linsert Command....................................................................................................................................61
List Llen Command ........................................................................................................................................62
List Lpop Command.......................................................................................................................................62
List Lpush Command .....................................................................................................................................63
List Lpushx Command....................................................................................................................................63
List Lrange Command ....................................................................................................................................64
List Lrem Command.......................................................................................................................................65
List Lset Command ........................................................................................................................................65
List Ltrim Command ......................................................................................................................................66
Redis
iv
List Rpop Command.......................................................................................................................................67
List Rpoplpush Command..............................................................................................................................68
List Rpush Command.....................................................................................................................................69
List Rpushx Command ...................................................................................................................................69
10. Redis ─ Sets.............................................................................................................................................71
Redis Sets Commands ...................................................................................................................................71
Set Sadd Command .......................................................................................................................................73
Set Scard Comment .......................................................................................................................................73
Set Sdiff Command........................................................................................................................................74
Set Sdiffstore Command................................................................................................................................75
Set Sinter Command......................................................................................................................................75
Set Sinterstore Command .............................................................................................................................76
Set Sismember Command .............................................................................................................................77
Redis – Set Sismember Command.................................................................................................................78
Set Smove Command ....................................................................................................................................78
Set Spop Command .......................................................................................................................................80
Set Srandmember Command ........................................................................................................................81
Set Srem Command.......................................................................................................................................81
Set Sunion Command ....................................................................................................................................82
Set Sunionstore Command............................................................................................................................83
Set Sscan Command ......................................................................................................................................84
11. Redis ─ Sorted Sets..................................................................................................................................86
Redis Sorted Sets Commands........................................................................................................................87
Sorted Set Zadd Command............................................................................................................................89
Sorted Set Zcard Comment ...........................................................................................................................90
Sorted Set Zcount Command.........................................................................................................................91
Sorted Set Zincrby Command........................................................................................................................91
Sorted Set Zinterstore Command..................................................................................................................92
Sorted Set Zlexcount Command....................................................................................................................93
Return Value..................................................................................................................................................93
Sorted Set Zrange Command.........................................................................................................................93
Sorted Set Zrangebylex Command ................................................................................................................94
Sorted Set Zrangebyscore Command ............................................................................................................95
Sorted Set Zrank Command...........................................................................................................................96
Sorted Set Zrem Command ...........................................................................................................................96
Sorted Set Zremrangebylex Command..........................................................................................................97
Sorted Set Zremrangebyrank Command .......................................................................................................98
Sorted Set Zremrangebyscore Command......................................................................................................98
Sorted Set Zrevrange Command ...................................................................................................................99
Sorted Set Zrevrangebyscore Command.....................................................................................................100
Sorted Set Zrevrank Command ...................................................................................................................101
Sorted Set Zscore Command .......................................................................................................................101
Sorted Set Zunionstore Command ..............................................................................................................102
Sorted Set Zscan Command.........................................................................................................................103
12. Redis ─ HyperLogLog.............................................................................................................................104
Redis HyperLogLog Commands ...................................................................................................................104
HyperLogLog Pfadd Command ....................................................................................................................105
HyperLogLog Pfcount Command.................................................................................................................105
HyperLogLog Pfmerge Command................................................................................................................106
Redis
v
13. Redis ─ Publish Subscribe......................................................................................................................107
Redis PubSub Commands............................................................................................................................108
PubSub Psubscribe Command.....................................................................................................................108
Redis - PubSub SubCommand .....................................................................................................................109
PubSub Publish Command...........................................................................................................................109
PubSub Punsubscribe Command.................................................................................................................110
PubSub Subscribe Command.......................................................................................................................110
PubSub Unsubscribe Command ..................................................................................................................111
14. Redis ─ Transactions .............................................................................................................................112
Redis Transaction Commands .....................................................................................................................113
Transactions Discard Command..................................................................................................................113
Transactions Exec Command.......................................................................................................................113
Transactions Multi Command .....................................................................................................................114
Transactions Unwatch Command................................................................................................................114
Transactions Watch Command ...................................................................................................................114
15. Redis ─ Scripting....................................................................................................................................115
Redis Scripting Commands ..........................................................................................................................115
Scripting Eval Command..............................................................................................................................117
Scripting Evalsha Command ........................................................................................................................117
Scripting Script Exists Command .................................................................................................................118
Scripting Script Flush Command..................................................................................................................118
Scripting Script Kill Command .....................................................................................................................119
Scripting Script Load Command ..................................................................................................................119
16. Redis ─ Connections..............................................................................................................................121
Redis Connection Commands......................................................................................................................121
Connection Auth Command ........................................................................................................................122
Connection Echo Command ........................................................................................................................122
Connection Ping Command.........................................................................................................................123
Connection Quit Command.........................................................................................................................123
Connection Select Command ......................................................................................................................123
17. Redis ─ Server .......................................................................................................................................125
Redis Server Commands..............................................................................................................................127
Server Bgrewriteaof Command...................................................................................................................132
Server Bgsave Command.............................................................................................................................132
Server Client Kill Command.........................................................................................................................133
Server Client List Command ........................................................................................................................133
Server Client Getname Command...............................................................................................................134
Server Client Pause Command ....................................................................................................................135
Server Client Setname Command................................................................................................................135
Server Cluster Slots Command ....................................................................................................................136
Server Command.........................................................................................................................................137
Server Command Count Command.............................................................................................................172
Server Command Getkeys Command..........................................................................................................172
Server Bgsave Command.............................................................................................................................172
Server Command Info Command ................................................................................................................173
Server Config Get Command .......................................................................................................................174
Server Config Rewrite Command ................................................................................................................175
Server Config Set Command........................................................................................................................175
Server Config Resetstat Command..............................................................................................................176
Redis
vi
Server Dbsize Command..............................................................................................................................176
Server Debug Object Command..................................................................................................................177
Server Debug Segfault Command................................................................................................................177
Server Flushall Command............................................................................................................................178
Server Flushdb Command ...........................................................................................................................178
Server Info Command..................................................................................................................................178
Server Lastsave Command ..........................................................................................................................182
Server Monitor Command...........................................................................................................................182
Server Role Command.................................................................................................................................182
Server Save Command.................................................................................................................................183
Server Shutdown Command........................................................................................................................184
Server Slaveof Command ............................................................................................................................184
Server Slowlog Command............................................................................................................................185
Server Sync Command.................................................................................................................................185
Server Time Command ................................................................................................................................186
REDIS – ADVANCED.................................................................................................................188
18. Redis ─ Backup......................................................................................................................................189
Restore Redis Data ......................................................................................................................................189
19. Redis ─ Security.....................................................................................................................................191
20. Redis ─ Benchmarks..............................................................................................................................192
21. Redis ─ Client Connection .....................................................................................................................194
22. Redis ─ Pipelining..................................................................................................................................196
23. Redis ─ Partitioning...............................................................................................................................197
Benefits of Partitioning................................................................................................................................197
Disadvantages of Partitioning......................................................................................................................197
Types of Partitioning....................................................................................................................................197
24. Redis ─ Java...........................................................................................................................................199
25. Redis ─ PHP...........................................................................................................................................203
Redis
1
Redis - Basics
Redis
2
Redis is an open source, advanced key-value store and an apt solution for building high-
performance, scalable web applications.
Redis has three main peculiarities that sets it apart.
 Redis holds its database entirely in the memory, using the disk only for persistence.
 Redis has a relatively rich set of data types when compared to many key-value
data stores.
 Redis can replicate data to any number of slaves.
RedisAdvantages
Following are certain advantages of Redis.
 Exceptionally fast: Redis is very fast and can perform about 110000 SETs per
second, about 81000 GETs per second.
 Supports rich data types: Redis natively supports most of the datatypes that
developers already know such as list, set, sorted set, and hashes. This makes it
easy to solve a variety of problems as we know which problem can be handled
better by which data type.
 Operations are atomic: All Redis operations are atomic, which ensures that if
two clients concurrently access, Redis server will receive the updated value.
 Multi-utility tool: Redis is a multi-utility tool and can be used in a number of use
cases such as caching, messaging-queues (Redis natively supports
Publish/Subscribe), any short-lived data in your application, such as web
application sessions, web page hit counts, etc.
Redis Versus Other Key-value Stores
 Redis is a different evolution path in the key-value DBs, where values can contain
more complex data types, with atomic operations defined on those data types.
 Redis is an in-memory database but persistent on disk database, hence it
represents a different trade off where very high write and read speed is achieved
with the limitation of data sets that can't be larger than the memory.
Another advantage of in-memory databases is that the memory representation of
complex data structures is much simpler to manipulate compared to the same data
structure on disk. Thus, Redis can do a lot with little internal complexity.
1. Redis ─ Overview
Redis
3
In this chapter, you will learn about the environmental setup for Redis.
InstallRedisonUbuntu
To install Redis on Ubuntu, go to the terminal and type the following commands:
$sudo apt-get update
$sudo apt-get install redis-server
This will install Redis on your machine.
Start Redis
$redis-server
Check If Redis is Working
$redis-cli
This will open a redis prompt.
redis 127.0.0.1:6379>
In the above prompt, 127.0.0.1 is your machine's IP address and 6379 is the port on
which Redis server is running. Now type the following PING command.
redis 127.0.0.1:6379> ping
PONG
This shows that Redis is successfully installed on your machine.
Install Redis Desktop Manager on Ubuntu
To install Redis desktop manager on Ubuntu, just download the package
from http://redisdesktop.com/download
Open the downloaded package and install it.
Redis desktop manager will give you UI to manage your Redis keys and data.
2. Redis ─ Environment
Redis
4
In Redis, there is a configuration file (redis.conf) available at the root directory of Redis.
Although you can get and set all Redis configurations by Redis CONFIG command.
Syntax
Following is the basic syntax of Redis CONFIG command.
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
Example
redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
To get all configuration settings, use * in place of CONFIG_SETTING_NAME
Example
redis 127.0.0.1:6379> CONFIG GET *
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
4) ""
5) "masterauth"
6) ""
7) "unixsocket"
8) ""
9) "logfile"
10) ""
11) "pidfile"
12) "/var/run/redis.pid"
13) "maxmemory"
14) "0"
3. Redis ─ Configuration
Redis
5
15) "maxmemory-samples"
16) "3"
17) "timeout"
18) "0"
19) "tcp-keepalive"
20) "0"
21) "auto-aof-rewrite-percentage"
22) "100"
23) "auto-aof-rewrite-min-size"
24) "67108864"
25) "hash-max-ziplist-entries"
26) "512"
27) "hash-max-ziplist-value"
28) "64"
29) "list-max-ziplist-entries"
30) "512"
31) "list-max-ziplist-value"
32) "64"
33) "set-max-intset-entries"
34) "512"
35) "zset-max-ziplist-entries"
36) "128"
37) "zset-max-ziplist-value"
38) "64"
39) "hll-sparse-max-bytes"
40) "3000"
41) "lua-time-limit"
42) "5000"
43) "slowlog-log-slower-than"
44) "10000"
45) "latency-monitor-threshold"
46) "0"
47) "slowlog-max-len"
48) "128"
49) "port"
50) "6379"
Redis
6
51) "tcp-backlog"
52) "511"
53) "databases"
54) "16"
55) "repl-ping-slave-period"
56) "10"
57) "repl-timeout"
58) "60"
59) "repl-backlog-size"
60) "1048576"
61) "repl-backlog-ttl"
62) "3600"
63) "maxclients"
64) "4064"
65) "watchdog-period"
66) "0"
67) "slave-priority"
68) "100"
69) "min-slaves-to-write"
70) "0"
71) "min-slaves-max-lag"
72) "10"
73) "hz"
74) "10"
75) "no-appendfsync-on-rewrite"
76) "no"
77) "slave-serve-stale-data"
78) "yes"
79) "slave-read-only"
80) "yes"
81) "stop-writes-on-bgsave-error"
82) "yes"
83) "daemonize"
84) "no"
85) "rdbcompression"
86) "yes"
Redis
7
87) "rdbchecksum"
88) "yes"
89) "activerehashing"
90) "yes"
91) "repl-disable-tcp-nodelay"
92) "no"
93) "aof-rewrite-incremental-fsync"
94) "yes"
95) "appendonly"
96) "no"
97) "dir"
98) "/home/deepak/Downloads/redis-2.8.13/src"
99) "maxmemory-policy"
100) "volatile-lru"
101) "appendfsync"
102) "everysec"
103) "save"
104) "3600 1 300 100 60 10000"
105) "loglevel"
106) "notice"
107) "client-output-buffer-limit"
108) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
109) "unixsocketperm"
110) "0"
111) "slaveof"
112) ""
113) "notify-keyspace-events"
114) ""
115) "bind"
116) ""
Redis
8
EditConfiguration
To update configuration, you can edit redis.conf file directly or you can update
configurations via CONFIG set command.
Syntax
Following is the basic syntax of CONFIG SET command.
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
Example
redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
Redis
9
Redis supports 5 types of data types.
Strings
Redis string is a sequence of bytes. Strings in Redis are binary safe, meaning they have a
known length not determined by any special terminating characters. Thus, you can store
anything up to 512 megabytes in one string.
Example
redis 127.0.0.1:6379> SET name "tutorialspoint"
OK
redis 127.0.0.1:6379> GET name
"tutorialspoint"
In the above example, SET and GET are Redis commands, name is the key used in Redis
and tutorialspoint is the string value that is stored in Redis.
Note: A string value can be at max 512 megabytes in length.
Hashes
A Redis hash is a collection of key value pairs. Redis Hashes are maps between string
fields and string values. Hence, they are used to represent objects.
Example
redis 127.0.0.1:6379> HMSET user:1 username tutorialspoint password
tutorialspoint points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "tutorialspoint"
3) "password"
4) "tutorialspoint"
5) "points"
6) "200"
4. Redis ─ Data Types
Redis
10
In the above example, hash data type is used to store the user's object which contains
basic information of the user. Here HMSET, HGETALL are commands for Redis,
while user:1 is the key.
Every hash can store up to 232 - 1 field-value pairs (more than 4 billion).
Lists
Redis Lists are simply lists of strings, sorted by insertion order. You can add elements to
a Redis List on the head or on the tail.
Example
redis 127.0.0.1:6379> lpush tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> lpush tutoriallist mongodb
(integer) 2
redis 127.0.0.1:6379> lpush tutoriallist rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange tutoriallist 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
The max length of a list is 232 - 1 elements (4294967295, more than 4 billion of elements
per list).
Sets
Redis Sets are an unordered collection of strings. In Redis, you can add, remove, and test
for the existence of members in O(1) time complexity.
Example
redis 127.0.0.1:6379> sadd tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist mongodb
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
Redis
11
(integer) 0
redis 127.0.0.1:6379> smembers tutoriallist
1) "rabitmq"
2) "mongodb"
3) "redis"
Note: In the above example, rabitmq is added twice, however due to unique property of
the set, it is added only once.
The max number of members in a set is 232 - 1 (4294967295, more than 4 billion of
members per set).
SortedSets
Redis Sorted Sets are similar to Redis Sets, non-repeating collections of Strings. The
difference is, every member of a Sorted Set is associated with a score, that is used in
order to take the sorted set ordered, from the smallest to the greatest score. While
members are unique, the scores may be repeated.
Example
redis 127.0.0.1:6379> zadd tutoriallist 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000
1) "redis"
2) "mongodb"
3) "rabitmq"
Redis
12
Redis – Commands
Redis
13
Redis commands are used to perform some operations on Redis server.
To run commands on Redis server, you need a Redis client. Redis client is available in
Redis package, which we have installed earlier.
Syntax
Following is the basic syntax of Redis client.
$redis-cli
Example
Following example explains how we can start Redis client.
To start Redis client, open the terminal and type the command redis-cli. This will connect
to your local server and now you can run any command.
$redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG
In the above example, we connect to Redis server running on the local machine and
execute a command PING, that checks whether the server is running or not.
Run Commands on the Remote Server
To run commands on Redis remote server, you need to connect to the server by the same
client redis-cli
Syntax
$ redis-cli -h host -p port -a password
5. Redis ─ Commands
Redis
14
Example
Following example shows how to connect to Redis remote server, running on host
127.0.0.1, port 6379 and has password mypass.
$redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG
Redis
15
Redis keys commands are used for managing keys in Redis. Following is the syntax for
using redis keys commands.
Syntax
redis 127.0.0.1:6379> COMMAND KEY_NAME
Example
redis 127.0.0.1:6379> SET tutorialspoint redis
OK
redis 127.0.0.1:6379> DEL tutorialspoint
(integer) 1
In the above example, DEL is the command, while tutorialspoint is the key. If the key
is deleted, then the output of the command will be (integer) 1, otherwise it will be (integer)
0.
RedisKeysCommands
Following table lists some basic commands related to keys.
Sr.
No.
Command & Description
1
DEL key
This command deletes the key, if it exists
2
DUMP key
This command returns a serialized version of the value stored at the specified key
3
EXISTS key
This command checks whether the key exists or not
4
EXPIRE key seconds
Sets the expiry of the key after the specified time
5
EXPIREAT key timestamp
Sets the expiry of the key after the specified time. Here time is in Unix timestamp
format
6. Redis ─ Keys
Redis
16
6
PEXPIRE key milliseconds
Set the expiry of key in milliseconds
7
PEXPIREAT key milliseconds-timestamp
Sets the expiry of the key in Unix timestamp specified as milliseconds
8
KEYS pattern
Finds all keys matching the specified pattern
9
MOVE key db
Moves a key to another database
10
PERSIST key
Removes the expiration from the key
11
PTTL key
Gets the remaining time in keys expiry in milliseconds
12
TTL key
Gets the remaining time in keys expiry
13
RANDOMKEY
Returns a random key from Redis
14
RENAME key newkey
Changes the key name
15
RENAMENX key newkey
Renames the key, if a new key doesn't exist
16
TYPE key
Returns the data type of the value stored in the key
KeysDelCommand
Redis DEL command is used to delete the existing key in Redis.
Return Value
Number of keys that were removed.
Syntax
Following is the basic syntax of Redis DEL command.
Redis
17
redis 127.0.0.1:6379> DEL KEY_NAME
Example
First, create a key in Redis and set some value in it.
redis 127.0.0.1:6379> SET tutorialspoint redis
OK
Now, delete the previously created key.
redis 127.0.0.1:6379> DEL tutorialspoint
(integer) 1
KeysDumpCommand
Redis DUMP command is used to get a serialized version of data stored at specified key
in Redis.
Return Value
Serialized value (String)
Syntax
Following is the basic syntax of Redis DUMP command.
redis 127.0.0.1:6379> DUMP KEY_NAME
Example
First, create a key in Redis and set some value in it.
redis 127.0.0.1:6379> SET tutorialspoint redis
OK
Now, create dump of the previously created key.
redis 127.0.0.1:6379> DUMP tutorialspoint
"x00x05redisx06x00Sxbdxc1qx17zx81xb2"
KeysExistsCommand
Redis EXISTS command is used to check whether the key exists in Redis or not.
Redis
18
Return Value
Integer value
 1, if the key exists.
 0, if the key does not exist.
Syntax
Following is the basic syntax of Redis EXISTS command.
redis 127.0.0.1:6379> EXISTS KEY_NAME
Example
redis 127.0.0.1:6379> EXISTS tutorialspoint-new-key
(integer) 0
Now, create a key with the name tutorialspoint-new-key and check for its existence.
redis 127.0.0.1:6379> EXISTS tutorialspoint-new-key
(integer) 1
KeysExpireCommand
Redis Expire command is used to set the expiry of a key. After the expiry time, the key
will not be available in Redis.
Return Value
Integer value 1 or 0
 1, if timeout is set for the key.
 0, if the key does not exist or timeout could not be set.
Syntax
Following is the basic syntax of Redis Expire command.
redis 127.0.0.1:6379> Expire KEY_NAME TIME_IN_SECONDS
Example
First, create a key in Redis and set some value in it.
redis 127.0.0.1:6379> SET tutorialspoint redis
OK
Redis
19
Now, set timeout of the previously created key.
redis 127.0.0.1:6379> EXPIRE tutorialspoint 60
(integer) 1
In the above example, 1 minute (or 60 seconds) time is set for the key tutorialspoint.
After 1 minute, the key will expire automatically.
KeysExpireatCommand
Redis Expireat command is used to set the expiry of key in Unix timestamp format. After
the expiry time, the key will not be available in Redis.
Return Value
Integer value 1 or 0
 1, if timeout is set for key.
 0, if key does not exists or timeout could not set.
Syntax
Following is the basic syntax of Redis Expireat command.
redis 127.0.0.1:6379> Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP
Example
First, create a key in Redis and set some value in it.
redis 127.0.0.1:6379> SET tutorialspoint redis
OK
Now, set timeout of the previously created key.
redis 127.0.0.1:6379> EXPIREAT tutorialspoint 1293840000
(integer) 1
EXISTS tutorialspoint
(integer) 0
KeysPexpireCommand
Redis Pexpire command is used to set the expiry of the key in milliseconds. After the
expiry time, the key will not be available in Redis.
Return Value
Redis
20
Integer value 1 or 0
 1, if the timeout is set for the key.
 0, if the key does not exist or timeout could not be set.
Syntax
Following is the basic syntax of Redis Expire command.
redis 127.0.0.1:6379> PEXPIRE KEY_NAME TIME_IN_MILLISECONDS
Example
First, create a key in Redis and set some value in it.
redis 127.0.0.1:6379> SET tutorialspoint redis
OK
Now, set timeout of the previously created key.
redis 127.0.0.1:6379> PEXPIRE tutorialspoint 5000
(integer) 1
In the above example, 5 seconds time is set for the key tutorialspoint. After 5 seconds,
the key will expire automatically.
KeysPexpireatCommand
Redis Pexpireat command is used to set the expiry of the key in Unix timestamp specified
in milliseconds. After the expiry time, the key will not be available in Redis.
Return Value
Integer value 1 or 0
 1, if timeout is set for the key.
 0, if the key does not exist or timeout could not be set.
Syntax
Following is the basic syntax of Redis Pexpireat command.
redis 127.0.0.1:6379> PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP
Example
First, create a key in Redis and set some value in it.
redis 127.0.0.1:6379> SET tutorialspoint redis
Redis
21
OK
Now, set timeout of the previously created key.
redis 127.0.0.1:6379> PEXPIREAT tutorialspoint 1555555555005
(integer) 1
Redis
22
End of ebook preview
If you liked what you saw…
Buy it from our store @ https://store.tutorialspoint.com

More Related Content

PDF
quickguide-einnovator-9-redis
ODP
An Introduction to REDIS NoSQL database
PDF
Redispresentation apac2012
PDF
Redis overview
PPT
Introduction to redis
PPT
PPTX
Redis_Presentation.pptx ppt on redis and
PPTX
2_Redis.pptx very useful for begginers yes
quickguide-einnovator-9-redis
An Introduction to REDIS NoSQL database
Redispresentation apac2012
Redis overview
Introduction to redis
Redis_Presentation.pptx ppt on redis and
2_Redis.pptx very useful for begginers yes

Similar to redis_tutoria0l for new learners step from scratch.pdf (20)

PPTX
Redis data structure and Performance Optimization
PDF
#SydPHP - The Magic of Redis
PDF
Introduction to Redis
PDF
key value dbs , redis , cassandra , their architecture
PPTX
Redis tutoring
PPTX
Redis Modules - Redis India Tour - 2017
PPTX
PPTX
Redis in 20 minutes
PPTX
Get more than a cache back! - ConFoo Montreal
PDF
Introduction to Redis
PDF
Getting Started with Redis
PPTX
Introduction to Redis
PDF
Tuga IT 2017 - Redis
PDF
Fun with Ruby and Redis
ODP
Redis overview
PDF
PDF
Redis Workshop on Data Structures, Commands, Administration
PPTX
Redis and it's data types
PDF
An Introduction to Redis for Developers.pdf
PPTX
redis-demo.pptx
Redis data structure and Performance Optimization
#SydPHP - The Magic of Redis
Introduction to Redis
key value dbs , redis , cassandra , their architecture
Redis tutoring
Redis Modules - Redis India Tour - 2017
Redis in 20 minutes
Get more than a cache back! - ConFoo Montreal
Introduction to Redis
Getting Started with Redis
Introduction to Redis
Tuga IT 2017 - Redis
Fun with Ruby and Redis
Redis overview
Redis Workshop on Data Structures, Commands, Administration
Redis and it's data types
An Introduction to Redis for Developers.pdf
redis-demo.pptx
Ad

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
cuic standard and advanced reporting.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Modernizing your data center with Dell and AMD
PDF
KodekX | Application Modernization Development
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation theory and applications.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Approach and Philosophy of On baking technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The AUB Centre for AI in Media Proposal.docx
cuic standard and advanced reporting.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Modernizing your data center with Dell and AMD
KodekX | Application Modernization Development
The Rise and Fall of 3GPP – Time for a Sabbatical?
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation theory and applications.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation_ Review paper, used for researhc scholars
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Ad

redis_tutoria0l for new learners step from scratch.pdf

  • 2. Redis i AbouttheTutorial Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server, since the keys can contain strings, hashes, lists, sets and sorted sets. Redis is written in C. This tutorial provides good understanding on Redis concepts, needed to create and deploy a highly scalable and performance-oriented system. Audience This tutorial is designed for Software Professionals who are willing to learn Redis in simple and easy steps. After completing this tutorial, you will be at an intermediate level of expertise from where you can take yourself to a higher level of expertise. Prerequisites Before proceeding with this tutorial, you should have basic knowledge of Data Structures. Disclaimer&Copyright  Copyright 2018 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at contact@tutorialspoint.com.
  • 3. Redis ii TableofContents About the Tutorial ............................................................................................................................................i Audience...........................................................................................................................................................i Prerequisites.....................................................................................................................................................i Disclaimer & Copyright.....................................................................................................................................i Table of Contents ............................................................................................................................................ ii REDIS - BASICS ............................................................................................................................1 1. Redis ─ Overview ......................................................................................................................................2 Redis Advantages ............................................................................................................................................2 2. Redis ─ Environment ................................................................................................................................4 Install Redis on Ubuntu ...................................................................................................................................4 3. Redis ─ Configuration................................................................................................................................5 Edit Configuration............................................................................................................................................9 4. Redis ─ Data Types..................................................................................................................................10 Strings............................................................................................................................................................10 Hashes ...........................................................................................................................................................10 Lists................................................................................................................................................................11 Sets ................................................................................................................................................................11 Sorted Sets.....................................................................................................................................................12 REDIS – COMMANDS ................................................................................................................13 5. Redis ─ Commands..................................................................................................................................14 6. Redis ─ Keys............................................................................................................................................16 Redis Keys Commands...................................................................................................................................16 Keys Del Command........................................................................................................................................18 Keys Dump Command ...................................................................................................................................18 Keys Exists Command....................................................................................................................................19 Keys Expire Command...................................................................................................................................19 Keys Expireat Command................................................................................................................................20 Keys Pexpire Command.................................................................................................................................21 Keys Pexpireat Command..............................................................................................................................21 Keys Command..............................................................................................................................................22 Keys Move Command....................................................................................................................................23 Keys Persist Command ..................................................................................................................................24 Keys Pttl Command .......................................................................................................................................24 Keys Ttl Command.........................................................................................................................................25 Keys Random Key Command.........................................................................................................................26 Keys Rename Command................................................................................................................................26 Keys Renamenx Command............................................................................................................................27 Keys Type Command .....................................................................................................................................28 7. Redis ─ Strings.........................................................................................................................................29 Redis Strings Commands ...............................................................................................................................29 String Set Command......................................................................................................................................32
  • 4. Redis iii String Get Command .....................................................................................................................................33 String Getrange Command............................................................................................................................33 String Getset Command ................................................................................................................................34 String Getbit Command.................................................................................................................................34 String Mget Command ..................................................................................................................................35 String Setbit Command..................................................................................................................................35 String Setex Command ..................................................................................................................................36 String Setnx Command ..................................................................................................................................37 String Setrange Command.............................................................................................................................37 String Strlen Command .................................................................................................................................38 String Mset Command...................................................................................................................................38 String Msetnx Command...............................................................................................................................39 Redis – String Psetex Command....................................................................................................................40 String Incr Command.....................................................................................................................................40 String Incrby Command.................................................................................................................................41 String Incrbyfloat Command..........................................................................................................................41 String Decr Command....................................................................................................................................42 String Decrby Command................................................................................................................................42 String Append Command ..............................................................................................................................43 8. Redis ─ Hashes ........................................................................................................................................44 Redis Hash Commands ..................................................................................................................................45 Hash Hdel Command.....................................................................................................................................47 Hash Hexists Command.................................................................................................................................47 Hash Hget Command.....................................................................................................................................48 Hash Hgetall Command.................................................................................................................................48 Hash Hincrby Command................................................................................................................................49 Hash Hincrbyfloat Command.........................................................................................................................50 Hash Hkeys Command...................................................................................................................................50 Hash Hlen Command.....................................................................................................................................51 Hash Hmget Command..................................................................................................................................51 Hash Hmset Command..................................................................................................................................52 Hash Hset Command .....................................................................................................................................52 Hash Hsetnx Command .................................................................................................................................53 Hash Hvals Command....................................................................................................................................53 Hash Hset Command .....................................................................................................................................54 9. Redis ─ Lists ............................................................................................................................................56 Redis Lists Commands ...................................................................................................................................56 List Blpop Command......................................................................................................................................59 List Brpop Command .....................................................................................................................................59 List Brpoplpush Command ............................................................................................................................60 List Lindex Command ....................................................................................................................................60 List Linsert Command....................................................................................................................................61 List Llen Command ........................................................................................................................................62 List Lpop Command.......................................................................................................................................62 List Lpush Command .....................................................................................................................................63 List Lpushx Command....................................................................................................................................63 List Lrange Command ....................................................................................................................................64 List Lrem Command.......................................................................................................................................65 List Lset Command ........................................................................................................................................65 List Ltrim Command ......................................................................................................................................66
  • 5. Redis iv List Rpop Command.......................................................................................................................................67 List Rpoplpush Command..............................................................................................................................68 List Rpush Command.....................................................................................................................................69 List Rpushx Command ...................................................................................................................................69 10. Redis ─ Sets.............................................................................................................................................71 Redis Sets Commands ...................................................................................................................................71 Set Sadd Command .......................................................................................................................................73 Set Scard Comment .......................................................................................................................................73 Set Sdiff Command........................................................................................................................................74 Set Sdiffstore Command................................................................................................................................75 Set Sinter Command......................................................................................................................................75 Set Sinterstore Command .............................................................................................................................76 Set Sismember Command .............................................................................................................................77 Redis – Set Sismember Command.................................................................................................................78 Set Smove Command ....................................................................................................................................78 Set Spop Command .......................................................................................................................................80 Set Srandmember Command ........................................................................................................................81 Set Srem Command.......................................................................................................................................81 Set Sunion Command ....................................................................................................................................82 Set Sunionstore Command............................................................................................................................83 Set Sscan Command ......................................................................................................................................84 11. Redis ─ Sorted Sets..................................................................................................................................86 Redis Sorted Sets Commands........................................................................................................................87 Sorted Set Zadd Command............................................................................................................................89 Sorted Set Zcard Comment ...........................................................................................................................90 Sorted Set Zcount Command.........................................................................................................................91 Sorted Set Zincrby Command........................................................................................................................91 Sorted Set Zinterstore Command..................................................................................................................92 Sorted Set Zlexcount Command....................................................................................................................93 Return Value..................................................................................................................................................93 Sorted Set Zrange Command.........................................................................................................................93 Sorted Set Zrangebylex Command ................................................................................................................94 Sorted Set Zrangebyscore Command ............................................................................................................95 Sorted Set Zrank Command...........................................................................................................................96 Sorted Set Zrem Command ...........................................................................................................................96 Sorted Set Zremrangebylex Command..........................................................................................................97 Sorted Set Zremrangebyrank Command .......................................................................................................98 Sorted Set Zremrangebyscore Command......................................................................................................98 Sorted Set Zrevrange Command ...................................................................................................................99 Sorted Set Zrevrangebyscore Command.....................................................................................................100 Sorted Set Zrevrank Command ...................................................................................................................101 Sorted Set Zscore Command .......................................................................................................................101 Sorted Set Zunionstore Command ..............................................................................................................102 Sorted Set Zscan Command.........................................................................................................................103 12. Redis ─ HyperLogLog.............................................................................................................................104 Redis HyperLogLog Commands ...................................................................................................................104 HyperLogLog Pfadd Command ....................................................................................................................105 HyperLogLog Pfcount Command.................................................................................................................105 HyperLogLog Pfmerge Command................................................................................................................106
  • 6. Redis v 13. Redis ─ Publish Subscribe......................................................................................................................107 Redis PubSub Commands............................................................................................................................108 PubSub Psubscribe Command.....................................................................................................................108 Redis - PubSub SubCommand .....................................................................................................................109 PubSub Publish Command...........................................................................................................................109 PubSub Punsubscribe Command.................................................................................................................110 PubSub Subscribe Command.......................................................................................................................110 PubSub Unsubscribe Command ..................................................................................................................111 14. Redis ─ Transactions .............................................................................................................................112 Redis Transaction Commands .....................................................................................................................113 Transactions Discard Command..................................................................................................................113 Transactions Exec Command.......................................................................................................................113 Transactions Multi Command .....................................................................................................................114 Transactions Unwatch Command................................................................................................................114 Transactions Watch Command ...................................................................................................................114 15. Redis ─ Scripting....................................................................................................................................115 Redis Scripting Commands ..........................................................................................................................115 Scripting Eval Command..............................................................................................................................117 Scripting Evalsha Command ........................................................................................................................117 Scripting Script Exists Command .................................................................................................................118 Scripting Script Flush Command..................................................................................................................118 Scripting Script Kill Command .....................................................................................................................119 Scripting Script Load Command ..................................................................................................................119 16. Redis ─ Connections..............................................................................................................................121 Redis Connection Commands......................................................................................................................121 Connection Auth Command ........................................................................................................................122 Connection Echo Command ........................................................................................................................122 Connection Ping Command.........................................................................................................................123 Connection Quit Command.........................................................................................................................123 Connection Select Command ......................................................................................................................123 17. Redis ─ Server .......................................................................................................................................125 Redis Server Commands..............................................................................................................................127 Server Bgrewriteaof Command...................................................................................................................132 Server Bgsave Command.............................................................................................................................132 Server Client Kill Command.........................................................................................................................133 Server Client List Command ........................................................................................................................133 Server Client Getname Command...............................................................................................................134 Server Client Pause Command ....................................................................................................................135 Server Client Setname Command................................................................................................................135 Server Cluster Slots Command ....................................................................................................................136 Server Command.........................................................................................................................................137 Server Command Count Command.............................................................................................................172 Server Command Getkeys Command..........................................................................................................172 Server Bgsave Command.............................................................................................................................172 Server Command Info Command ................................................................................................................173 Server Config Get Command .......................................................................................................................174 Server Config Rewrite Command ................................................................................................................175 Server Config Set Command........................................................................................................................175 Server Config Resetstat Command..............................................................................................................176
  • 7. Redis vi Server Dbsize Command..............................................................................................................................176 Server Debug Object Command..................................................................................................................177 Server Debug Segfault Command................................................................................................................177 Server Flushall Command............................................................................................................................178 Server Flushdb Command ...........................................................................................................................178 Server Info Command..................................................................................................................................178 Server Lastsave Command ..........................................................................................................................182 Server Monitor Command...........................................................................................................................182 Server Role Command.................................................................................................................................182 Server Save Command.................................................................................................................................183 Server Shutdown Command........................................................................................................................184 Server Slaveof Command ............................................................................................................................184 Server Slowlog Command............................................................................................................................185 Server Sync Command.................................................................................................................................185 Server Time Command ................................................................................................................................186 REDIS – ADVANCED.................................................................................................................188 18. Redis ─ Backup......................................................................................................................................189 Restore Redis Data ......................................................................................................................................189 19. Redis ─ Security.....................................................................................................................................191 20. Redis ─ Benchmarks..............................................................................................................................192 21. Redis ─ Client Connection .....................................................................................................................194 22. Redis ─ Pipelining..................................................................................................................................196 23. Redis ─ Partitioning...............................................................................................................................197 Benefits of Partitioning................................................................................................................................197 Disadvantages of Partitioning......................................................................................................................197 Types of Partitioning....................................................................................................................................197 24. Redis ─ Java...........................................................................................................................................199 25. Redis ─ PHP...........................................................................................................................................203
  • 9. Redis 2 Redis is an open source, advanced key-value store and an apt solution for building high- performance, scalable web applications. Redis has three main peculiarities that sets it apart.  Redis holds its database entirely in the memory, using the disk only for persistence.  Redis has a relatively rich set of data types when compared to many key-value data stores.  Redis can replicate data to any number of slaves. RedisAdvantages Following are certain advantages of Redis.  Exceptionally fast: Redis is very fast and can perform about 110000 SETs per second, about 81000 GETs per second.  Supports rich data types: Redis natively supports most of the datatypes that developers already know such as list, set, sorted set, and hashes. This makes it easy to solve a variety of problems as we know which problem can be handled better by which data type.  Operations are atomic: All Redis operations are atomic, which ensures that if two clients concurrently access, Redis server will receive the updated value.  Multi-utility tool: Redis is a multi-utility tool and can be used in a number of use cases such as caching, messaging-queues (Redis natively supports Publish/Subscribe), any short-lived data in your application, such as web application sessions, web page hit counts, etc. Redis Versus Other Key-value Stores  Redis is a different evolution path in the key-value DBs, where values can contain more complex data types, with atomic operations defined on those data types.  Redis is an in-memory database but persistent on disk database, hence it represents a different trade off where very high write and read speed is achieved with the limitation of data sets that can't be larger than the memory. Another advantage of in-memory databases is that the memory representation of complex data structures is much simpler to manipulate compared to the same data structure on disk. Thus, Redis can do a lot with little internal complexity. 1. Redis ─ Overview
  • 10. Redis 3 In this chapter, you will learn about the environmental setup for Redis. InstallRedisonUbuntu To install Redis on Ubuntu, go to the terminal and type the following commands: $sudo apt-get update $sudo apt-get install redis-server This will install Redis on your machine. Start Redis $redis-server Check If Redis is Working $redis-cli This will open a redis prompt. redis 127.0.0.1:6379> In the above prompt, 127.0.0.1 is your machine's IP address and 6379 is the port on which Redis server is running. Now type the following PING command. redis 127.0.0.1:6379> ping PONG This shows that Redis is successfully installed on your machine. Install Redis Desktop Manager on Ubuntu To install Redis desktop manager on Ubuntu, just download the package from http://redisdesktop.com/download Open the downloaded package and install it. Redis desktop manager will give you UI to manage your Redis keys and data. 2. Redis ─ Environment
  • 11. Redis 4 In Redis, there is a configuration file (redis.conf) available at the root directory of Redis. Although you can get and set all Redis configurations by Redis CONFIG command. Syntax Following is the basic syntax of Redis CONFIG command. redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME Example redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice" To get all configuration settings, use * in place of CONFIG_SETTING_NAME Example redis 127.0.0.1:6379> CONFIG GET * 1) "dbfilename" 2) "dump.rdb" 3) "requirepass" 4) "" 5) "masterauth" 6) "" 7) "unixsocket" 8) "" 9) "logfile" 10) "" 11) "pidfile" 12) "/var/run/redis.pid" 13) "maxmemory" 14) "0" 3. Redis ─ Configuration
  • 12. Redis 5 15) "maxmemory-samples" 16) "3" 17) "timeout" 18) "0" 19) "tcp-keepalive" 20) "0" 21) "auto-aof-rewrite-percentage" 22) "100" 23) "auto-aof-rewrite-min-size" 24) "67108864" 25) "hash-max-ziplist-entries" 26) "512" 27) "hash-max-ziplist-value" 28) "64" 29) "list-max-ziplist-entries" 30) "512" 31) "list-max-ziplist-value" 32) "64" 33) "set-max-intset-entries" 34) "512" 35) "zset-max-ziplist-entries" 36) "128" 37) "zset-max-ziplist-value" 38) "64" 39) "hll-sparse-max-bytes" 40) "3000" 41) "lua-time-limit" 42) "5000" 43) "slowlog-log-slower-than" 44) "10000" 45) "latency-monitor-threshold" 46) "0" 47) "slowlog-max-len" 48) "128" 49) "port" 50) "6379"
  • 13. Redis 6 51) "tcp-backlog" 52) "511" 53) "databases" 54) "16" 55) "repl-ping-slave-period" 56) "10" 57) "repl-timeout" 58) "60" 59) "repl-backlog-size" 60) "1048576" 61) "repl-backlog-ttl" 62) "3600" 63) "maxclients" 64) "4064" 65) "watchdog-period" 66) "0" 67) "slave-priority" 68) "100" 69) "min-slaves-to-write" 70) "0" 71) "min-slaves-max-lag" 72) "10" 73) "hz" 74) "10" 75) "no-appendfsync-on-rewrite" 76) "no" 77) "slave-serve-stale-data" 78) "yes" 79) "slave-read-only" 80) "yes" 81) "stop-writes-on-bgsave-error" 82) "yes" 83) "daemonize" 84) "no" 85) "rdbcompression" 86) "yes"
  • 14. Redis 7 87) "rdbchecksum" 88) "yes" 89) "activerehashing" 90) "yes" 91) "repl-disable-tcp-nodelay" 92) "no" 93) "aof-rewrite-incremental-fsync" 94) "yes" 95) "appendonly" 96) "no" 97) "dir" 98) "/home/deepak/Downloads/redis-2.8.13/src" 99) "maxmemory-policy" 100) "volatile-lru" 101) "appendfsync" 102) "everysec" 103) "save" 104) "3600 1 300 100 60 10000" 105) "loglevel" 106) "notice" 107) "client-output-buffer-limit" 108) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" 109) "unixsocketperm" 110) "0" 111) "slaveof" 112) "" 113) "notify-keyspace-events" 114) "" 115) "bind" 116) ""
  • 15. Redis 8 EditConfiguration To update configuration, you can edit redis.conf file directly or you can update configurations via CONFIG set command. Syntax Following is the basic syntax of CONFIG SET command. redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE Example redis 127.0.0.1:6379> CONFIG SET loglevel "notice" OK redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
  • 16. Redis 9 Redis supports 5 types of data types. Strings Redis string is a sequence of bytes. Strings in Redis are binary safe, meaning they have a known length not determined by any special terminating characters. Thus, you can store anything up to 512 megabytes in one string. Example redis 127.0.0.1:6379> SET name "tutorialspoint" OK redis 127.0.0.1:6379> GET name "tutorialspoint" In the above example, SET and GET are Redis commands, name is the key used in Redis and tutorialspoint is the string value that is stored in Redis. Note: A string value can be at max 512 megabytes in length. Hashes A Redis hash is a collection of key value pairs. Redis Hashes are maps between string fields and string values. Hence, they are used to represent objects. Example redis 127.0.0.1:6379> HMSET user:1 username tutorialspoint password tutorialspoint points 200 OK redis 127.0.0.1:6379> HGETALL user:1 1) "username" 2) "tutorialspoint" 3) "password" 4) "tutorialspoint" 5) "points" 6) "200" 4. Redis ─ Data Types
  • 17. Redis 10 In the above example, hash data type is used to store the user's object which contains basic information of the user. Here HMSET, HGETALL are commands for Redis, while user:1 is the key. Every hash can store up to 232 - 1 field-value pairs (more than 4 billion). Lists Redis Lists are simply lists of strings, sorted by insertion order. You can add elements to a Redis List on the head or on the tail. Example redis 127.0.0.1:6379> lpush tutoriallist redis (integer) 1 redis 127.0.0.1:6379> lpush tutoriallist mongodb (integer) 2 redis 127.0.0.1:6379> lpush tutoriallist rabitmq (integer) 3 redis 127.0.0.1:6379> lrange tutoriallist 0 10 1) "rabitmq" 2) "mongodb" 3) "redis" The max length of a list is 232 - 1 elements (4294967295, more than 4 billion of elements per list). Sets Redis Sets are an unordered collection of strings. In Redis, you can add, remove, and test for the existence of members in O(1) time complexity. Example redis 127.0.0.1:6379> sadd tutoriallist redis (integer) 1 redis 127.0.0.1:6379> sadd tutoriallist mongodb (integer) 1 redis 127.0.0.1:6379> sadd tutoriallist rabitmq (integer) 1 redis 127.0.0.1:6379> sadd tutoriallist rabitmq
  • 18. Redis 11 (integer) 0 redis 127.0.0.1:6379> smembers tutoriallist 1) "rabitmq" 2) "mongodb" 3) "redis" Note: In the above example, rabitmq is added twice, however due to unique property of the set, it is added only once. The max number of members in a set is 232 - 1 (4294967295, more than 4 billion of members per set). SortedSets Redis Sorted Sets are similar to Redis Sets, non-repeating collections of Strings. The difference is, every member of a Sorted Set is associated with a score, that is used in order to take the sorted set ordered, from the smallest to the greatest score. While members are unique, the scores may be repeated. Example redis 127.0.0.1:6379> zadd tutoriallist 0 redis (integer) 1 redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000 1) "redis" 2) "mongodb" 3) "rabitmq"
  • 20. Redis 13 Redis commands are used to perform some operations on Redis server. To run commands on Redis server, you need a Redis client. Redis client is available in Redis package, which we have installed earlier. Syntax Following is the basic syntax of Redis client. $redis-cli Example Following example explains how we can start Redis client. To start Redis client, open the terminal and type the command redis-cli. This will connect to your local server and now you can run any command. $redis-cli redis 127.0.0.1:6379> redis 127.0.0.1:6379> PING PONG In the above example, we connect to Redis server running on the local machine and execute a command PING, that checks whether the server is running or not. Run Commands on the Remote Server To run commands on Redis remote server, you need to connect to the server by the same client redis-cli Syntax $ redis-cli -h host -p port -a password 5. Redis ─ Commands
  • 21. Redis 14 Example Following example shows how to connect to Redis remote server, running on host 127.0.0.1, port 6379 and has password mypass. $redis-cli -h 127.0.0.1 -p 6379 -a "mypass" redis 127.0.0.1:6379> redis 127.0.0.1:6379> PING PONG
  • 22. Redis 15 Redis keys commands are used for managing keys in Redis. Following is the syntax for using redis keys commands. Syntax redis 127.0.0.1:6379> COMMAND KEY_NAME Example redis 127.0.0.1:6379> SET tutorialspoint redis OK redis 127.0.0.1:6379> DEL tutorialspoint (integer) 1 In the above example, DEL is the command, while tutorialspoint is the key. If the key is deleted, then the output of the command will be (integer) 1, otherwise it will be (integer) 0. RedisKeysCommands Following table lists some basic commands related to keys. Sr. No. Command & Description 1 DEL key This command deletes the key, if it exists 2 DUMP key This command returns a serialized version of the value stored at the specified key 3 EXISTS key This command checks whether the key exists or not 4 EXPIRE key seconds Sets the expiry of the key after the specified time 5 EXPIREAT key timestamp Sets the expiry of the key after the specified time. Here time is in Unix timestamp format 6. Redis ─ Keys
  • 23. Redis 16 6 PEXPIRE key milliseconds Set the expiry of key in milliseconds 7 PEXPIREAT key milliseconds-timestamp Sets the expiry of the key in Unix timestamp specified as milliseconds 8 KEYS pattern Finds all keys matching the specified pattern 9 MOVE key db Moves a key to another database 10 PERSIST key Removes the expiration from the key 11 PTTL key Gets the remaining time in keys expiry in milliseconds 12 TTL key Gets the remaining time in keys expiry 13 RANDOMKEY Returns a random key from Redis 14 RENAME key newkey Changes the key name 15 RENAMENX key newkey Renames the key, if a new key doesn't exist 16 TYPE key Returns the data type of the value stored in the key KeysDelCommand Redis DEL command is used to delete the existing key in Redis. Return Value Number of keys that were removed. Syntax Following is the basic syntax of Redis DEL command.
  • 24. Redis 17 redis 127.0.0.1:6379> DEL KEY_NAME Example First, create a key in Redis and set some value in it. redis 127.0.0.1:6379> SET tutorialspoint redis OK Now, delete the previously created key. redis 127.0.0.1:6379> DEL tutorialspoint (integer) 1 KeysDumpCommand Redis DUMP command is used to get a serialized version of data stored at specified key in Redis. Return Value Serialized value (String) Syntax Following is the basic syntax of Redis DUMP command. redis 127.0.0.1:6379> DUMP KEY_NAME Example First, create a key in Redis and set some value in it. redis 127.0.0.1:6379> SET tutorialspoint redis OK Now, create dump of the previously created key. redis 127.0.0.1:6379> DUMP tutorialspoint "x00x05redisx06x00Sxbdxc1qx17zx81xb2" KeysExistsCommand Redis EXISTS command is used to check whether the key exists in Redis or not.
  • 25. Redis 18 Return Value Integer value  1, if the key exists.  0, if the key does not exist. Syntax Following is the basic syntax of Redis EXISTS command. redis 127.0.0.1:6379> EXISTS KEY_NAME Example redis 127.0.0.1:6379> EXISTS tutorialspoint-new-key (integer) 0 Now, create a key with the name tutorialspoint-new-key and check for its existence. redis 127.0.0.1:6379> EXISTS tutorialspoint-new-key (integer) 1 KeysExpireCommand Redis Expire command is used to set the expiry of a key. After the expiry time, the key will not be available in Redis. Return Value Integer value 1 or 0  1, if timeout is set for the key.  0, if the key does not exist or timeout could not be set. Syntax Following is the basic syntax of Redis Expire command. redis 127.0.0.1:6379> Expire KEY_NAME TIME_IN_SECONDS Example First, create a key in Redis and set some value in it. redis 127.0.0.1:6379> SET tutorialspoint redis OK
  • 26. Redis 19 Now, set timeout of the previously created key. redis 127.0.0.1:6379> EXPIRE tutorialspoint 60 (integer) 1 In the above example, 1 minute (or 60 seconds) time is set for the key tutorialspoint. After 1 minute, the key will expire automatically. KeysExpireatCommand Redis Expireat command is used to set the expiry of key in Unix timestamp format. After the expiry time, the key will not be available in Redis. Return Value Integer value 1 or 0  1, if timeout is set for key.  0, if key does not exists or timeout could not set. Syntax Following is the basic syntax of Redis Expireat command. redis 127.0.0.1:6379> Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP Example First, create a key in Redis and set some value in it. redis 127.0.0.1:6379> SET tutorialspoint redis OK Now, set timeout of the previously created key. redis 127.0.0.1:6379> EXPIREAT tutorialspoint 1293840000 (integer) 1 EXISTS tutorialspoint (integer) 0 KeysPexpireCommand Redis Pexpire command is used to set the expiry of the key in milliseconds. After the expiry time, the key will not be available in Redis. Return Value
  • 27. Redis 20 Integer value 1 or 0  1, if the timeout is set for the key.  0, if the key does not exist or timeout could not be set. Syntax Following is the basic syntax of Redis Expire command. redis 127.0.0.1:6379> PEXPIRE KEY_NAME TIME_IN_MILLISECONDS Example First, create a key in Redis and set some value in it. redis 127.0.0.1:6379> SET tutorialspoint redis OK Now, set timeout of the previously created key. redis 127.0.0.1:6379> PEXPIRE tutorialspoint 5000 (integer) 1 In the above example, 5 seconds time is set for the key tutorialspoint. After 5 seconds, the key will expire automatically. KeysPexpireatCommand Redis Pexpireat command is used to set the expiry of the key in Unix timestamp specified in milliseconds. After the expiry time, the key will not be available in Redis. Return Value Integer value 1 or 0  1, if timeout is set for the key.  0, if the key does not exist or timeout could not be set. Syntax Following is the basic syntax of Redis Pexpireat command. redis 127.0.0.1:6379> PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP Example First, create a key in Redis and set some value in it. redis 127.0.0.1:6379> SET tutorialspoint redis
  • 28. Redis 21 OK Now, set timeout of the previously created key. redis 127.0.0.1:6379> PEXPIREAT tutorialspoint 1555555555005 (integer) 1
  • 29. Redis 22 End of ebook preview If you liked what you saw… Buy it from our store @ https://store.tutorialspoint.com