Category: redis

  • Khóa học miễn phí Redis – Scripting nhận dự án làm có lương

    Redis – Scripting



    Redis scripting is used to evaluate scripts using the Lua interpreter. It is built into Redis starting from version 2.6.0. The command used for scripting is EVAL command.

    Syntax

    Following is the basic syntax of EVAL command.

    redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]
    

    Example

    Following example explains how Redis scripting works.

    redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1
    key2 first second
    1) "key1"
    2) "key2"
    3) "first"
    4) "second"
    

    Redis Scripting Commands

    Following table lists some basic commands related to Redis Scripting.

    Sr.No Command & Description
    1

    Executes a Lua script.

    2

    Executes a Lua script.

    3

    Checks the existence of scripts in the script cache.

    4

    Removes all the scripts from the script cache.

    5

    Kills the script currently in execution.

    6

    Loads the specified Lua script into the script cache.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Home nhận dự án làm có lương

    Redis Tutorial

    Redis Tutorial







    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.

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Transactions nhận dự án làm có lương

    Redis – Transactions



    Redis transactions allow the execution of a group of commands in a single step. Following are the two properties of Transactions.

    • All commands in a transaction are sequentially executed as a single isolated operation. It is not possible that a request issued by another client is served in the middle of the execution of a Redis transaction.

    • Redis transaction is also atomic. Atomic means either all of the commands or none are processed.

    Sample

    Redis transaction is initiated by command MULTI and then you need to pass a list of commands that should be executed in the transaction, after which the entire transaction is executed by EXEC command.

    redis 127.0.0.1:6379> MULTI
    OK
    List of commands here
    redis 127.0.0.1:6379> EXEC
    

    Example

    Following example explains how Redis transaction can be initiated and executed.

    redis 127.0.0.1:6379> MULTI
    OK
    redis 127.0.0.1:6379> SET tutorial redis
    QUEUED
    redis 127.0.0.1:6379> GET tutorial
    QUEUED
    redis 127.0.0.1:6379> INCR visitors
    QUEUED
    redis 127.0.0.1:6379> EXEC
    1) OK
    2) "redis"
    3) (integer) 1
    

    Redis Transaction Commands

    Following table shows some basic commands related to Redis transactions.

    Sr.No Command & Description
    1

    Discards all commands issued after MULTI

    2

    Executes all commands issued after MULTI

    3

    Marks the start of a transaction block

    4

    Forgets about all watched keys

    5

    Watches the given keys to determine the execution of the MULTI/EXEC block


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Keys nhận dự án làm có lương

    Redis – Keys



    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.

    Redis Keys Commands

    Following table lists some basic commands related to keys.

    Sr.No Command & Description
    1

    This command deletes the key, if it exists.

    2

    This command returns a serialized version of the value stored at the specified key.

    3

    This command checks whether the key exists or not.

    4 seconds

    Sets the expiry of the key after the specified time.

    5

    Sets the expiry of the key after the specified time. Here time is in Unix timestamp format.

    6

    Set the expiry of key in milliseconds.

    7

    Sets the expiry of the key in Unix timestamp specified as milliseconds.

    8

    Finds all keys matching the specified pattern.

    9

    Moves a key to another database.

    10

    Removes the expiration from the key.

    11

    Gets the remaining time in keys expiry in milliseconds.

    12

    Gets the remaining time in keys expiry.

    13

    Returns a random key from Redis.

    14

    Changes the key name.

    15

    Renames the key, if a new key doesn”t exist.

    16

    Returns the data type of the value stored in the key.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Backup nhận dự án làm có lương

    Redis – Backup



    Redis SAVE command is used to create a backup of the current Redis database.

    Syntax

    Following is the basic syntax of redis SAVE command.

    127.0.0.1:6379> SAVE
    

    Example

    Following example creates a backup of the current database.

    127.0.0.1:6379> SAVE
    OK
    

    This command will create a dump.rdb file in your Redis directory.

    Restore Redis Data

    To restore Redis data, move Redis backup file (dump.rdb) into your Redis directory and start the server. To get your Redis directory, use CONFIG command of Redis as shown below.

    127.0.0.1:6379> CONFIG get dir
    1) "dir"
    2) "/user/tutorialspoint/redis-2.8.13/src"
    

    In the output of the above command /user/tutorialspoint/redis-2.8.13/src is the directory, where Redis server is installed.

    Bgsave

    To create Redis backup, an alternate command BGSAVE is also available. This command will start the backup process and run this in the background.

    Example

    127.0.0.1:6379> BGSAVE
    Background saving started
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Lists nhận dự án làm có lương

    Redis – Lists



    Redis Lists are simply lists of strings, sorted by insertion order. You can add elements in Redis lists in the head or the tail of the list.

    Maximum length of a list is 232 – 1 elements (4294967295, more than 4 billion of elements per list).

    Example

    redis 127.0.0.1:6379> LPUSH tutorials redis
    (integer) 1
    redis 127.0.0.1:6379> LPUSH tutorials mongodb
    (integer) 2
    redis 127.0.0.1:6379> LPUSH tutorials mysql
    (integer) 3
    redis 127.0.0.1:6379> LRANGE tutorials 0 10
    1) "mysql"
    2) "mongodb"
    3) "redis"
    

    In the above example, three values are inserted in Redis list named ‘tutorials’ by the command LPUSH.

    Redis Lists Commands

    Following table lists some basic commands related to lists.

    Sr.No Command & Description
    1

    Removes and gets the first element in a list, or blocks until one is available

    2

    Removes and gets the last element in a list, or blocks until one is available

    3

    Pops a value from a list, pushes it to another list and returns it; or blocks until one is available

    4

    Gets an element from a list by its index

    5

    Inserts an element before or after another element in a list

    6

    Gets the length of a list

    7

    Removes and gets the first element in a list

    8

    Prepends one or multiple values to a list

    9

    Prepends a value to a list, only if the list exists

    10

    Gets a range of elements from a list

    11

    Removes elements from a list

    12

    Sets the value of an element in a list by its index

    13

    Trims a list to the specified range

    14

    Removes and gets the last element in a list

    15

    Removes the last element in a list, appends it to another list and returns it

    16

    Appends one or multiple values to a list

    17

    Appends a value to a list, only if the list exists


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Server nhận dự án làm có lương

    Redis – Server



    Redis server commands are basically used to manage Redis server.

    Example

    Following example explains how we can get all statistics and information about the server.

    redis 127.0.0.1:6379> INFO
    
    # Server
    redis_version:2.8.13
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:c2238b38b1edb0e2
    redis_mode:standalone
    os:Linux 3.5.0-48-generic x86_64
    arch_bits:64
    multiplexing_api:epoll
    gcc_version:4.7.2
    process_id:3856
    run_id:0e61abd297771de3fe812a3c21027732ac9f41fe
    tcp_port:6379
    uptime_in_seconds:11554
    uptime_in_days:0 hz:10
    lru_clock:16651447
    config_file:
    
    # Clients
    connected_clients:1
    client_longest_output_list:0
    client_biggest_input_buf:0
    blocked_clients:0
    
    # Memory
    used_memory:589016
    used_memory_human:575.21K
    used_memory_rss:2461696
    used_memory_peak:667312
    used_memory_peak_human:651.67K
    used_memory_lua:33792
    mem_fragmentation_ratio:4.18
    mem_allocator:jemalloc-3.6.0
    
    # Persistence
    loading:0
    rdb_changes_since_last_save:3
    rdb_bgsave_in_progress:0
    rdb_last_save_time:1409158561
    rdb_last_bgsave_status:ok
    rdb_last_bgsave_time_sec:0
    rdb_current_bgsave_time_sec:-1
    aof_enabled:0
    aof_rewrite_in_progress:0
    aof_rewrite_scheduled:0
    aof_last_rewrite_time_sec:-1
    aof_current_rewrite_time_sec:-1
    aof_last_bgrewrite_status:ok
    aof_last_write_status:ok
    
    # Stats
    total_connections_received:24
    total_commands_processed:294
    instantaneous_ops_per_sec:0
    rejected_connections:0
    sync_full:0
    sync_partial_ok:0
    sync_partial_err:0
    expired_keys:0
    evicted_keys:0
    keyspace_hits:41
    keyspace_misses:82
    pubsub_channels:0
    pubsub_patterns:0
    latest_fork_usec:264
    
    # Replication
    role:master
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
    
    # CPU
    used_cpu_sys:10.49
    used_cpu_user:4.96
    used_cpu_sys_children:0.00
    used_cpu_user_children:0.01
    
    # Keyspace
    db0:keys = 94,expires = 1,avg_ttl = 41638810
    db1:keys = 1,expires = 0,avg_ttl = 0
    db3:keys = 1,expires = 0,avg_ttl = 0
    

    Redis Server Commands

    Following table lists some basic commands related to Redis server.

    Sr.No Command & Description
    1

    Asynchronously rewrites the append-only file

    2

    Asynchronously saves the dataset to the disk

    3

    Kills the connection of a client

    4

    Gets the list of client connections to the server

    5

    Gets the name of the current connection

    6

    Stops processing commands from the clients for a specified time

    7

    Sets the current connection name

    8

    Gets an array of Cluster slot to node mappings

    9

    Gets an array of Redis command details

    10

    Gets total number of Redis commands

    11

    Extracts the keys given a full Redis command

    12

    Asynchronously saves the dataset to the disk

    13

    Gets an array of specific Redis command details

    14

    Gets the value of a configuration parameter

    15

    Rewrites the configuration file with the in-memory configuration

    16

    Sets a configuration parameter to the given value

    17

    Resets the stats returned by INFO

    18

    Returns the number of keys in the selected database

    19

    Gets debugging information about a key

    20

    Makes the server crash

    21

    Removes all the keys from all databases

    22

    Removes all the keys from the current database

    23

    Gets information and statistics about the server

    24

    Gets the UNIX time stamp of the last successful save to the disk

    25

    Listens for all the requests received by the server in real time

    26

    Returns the role of the instance in the context of replication

    27

    Synchronously saves the dataset to the disk

    28

    Synchronously saves the dataset to the disk and then shuts down the server

    29

    Makes the server a slave of another instance, or promotes it as a master

    30

    Manages the Redis slow queries log

    31

    Command used for replication

    32

    Returns the current server time


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Overview nhận dự án làm có lương

    Redis – Overview



    Redis is an open source, advanced key-value store and an apt solution for building highperformance, 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.

    Redis Advantages

    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.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Data types nhận dự án làm có lương

    Redis – Data Types



    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"
    

    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
    (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).

    Sorted Sets

    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"
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí Redis – Commands nhận dự án làm có lương

    Redis – Commands



    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
    

    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
    

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc