Introduction to Redis

Posted by binujayaraj on Fri, 07 Jan 2022 06:40:09 +0100

Redis overview

Redis is a key value storage system (official website: http://redis.io ), is a distributed cache database

Redis initial operation

Start redis service

Startup in docker environment (multiple containers need to be run to start docker environment):

The # bottom layer of docker start redis01 is also started through redis server. Redis01 after the word start is the container name

View redis service in docker

docker ps

View the started redis process information

ps -ef|grep redis

Enter redis container

docker exec -it redis01 bash #redis01 is the container name

Log in to redis service

Log in to local Redis

Redis cli or redis cli - P 6379 or redis cli - P 6379 - a password
#-a is followed by password. Redis.com needs to be enabled for this operation requirepass option in conf file

Log in to remote Redis

redis-cli -h ip -p 6379 -a password

View redis information

First log in to redis, and then enter the info command, such as

127.0.0.1:6379 > info # view the detailed configuration information of the current redis node

Clear redis screen

Clear redis screen content

127.0.0.1:6379> clear

Exit redis service

Exit the redis service, for example

127.0.0.1:6379> exit

Turn off redis service

Close the redis service, for example:

127.0.0.1:6379> shutdown

System help

You can view related instruction help based on the help instruction, such as

127.0.0.1:6379> help
redis-cli 2.8.19
Type: "help @<group>" to get a list of commands in <group>
      "help <command>" for help on <command>
      "help <tab>" to get a list of possible help topics
      "quit" to exit
127.0.0.1:6379> help type

  TYPE key
  summary: Determine the type stored at key
  since: 1.0.0
  group: generic

Redis data storage

Simple data access

View key s in redis based on

127.0.0.1:6379> keys *
(empty array)

Store data in the form of key/value

127.0.0.1:6379> set test1 123
OK
127.0.0.1:6379> set test2 ab
OK
127.0.0.1:6379> keys *
1) "test1"
2) "test2"

Obtain data stored in redis based on key

127.0.0.1:6379> get test1
"123"
127.0.0.1:6379> get test2
"ab"
127.0.0.1:6379> get test3
(nil)
127.0.0.1:6379>

Clear data in redis

Clear current database data

127.0.0.1:6379> flushdb
OK

Clear all database data

127.0.0.1:6379> flushall
OK

Key effective time design

In practice, we often need to control the effective duration of key s in redis, such as the timing of second kill operations, the effective duration of cached data, etc.

Expire (setting effective time - unit: seconds)

Syntax: exit key seconds

127.0.0.1:6379> set bomb tnt OK
127.0.0.1:6379> expire bomb 10 (integer) 1
127.0.0.1:6379> ttl bomb (integer) 5
127.0.0.1:6379> ttl bomb (integer) 3
127.0.0.1:6379> ttl bomb (integer) 3
127.0.0.1:6379> ttl bomb (integer) 2
127.0.0.1:6379> ttl bomb (integer) 1
127.0.0.1:6379> ttl bomb (integer) -2
127.0.0.1:6379> ttl bomb (integer) -2
127.0.0.1:6379>

Among them, TTL views the remaining time of the key. When the return value is - 2, it indicates that the key is deleted.
When the key does not exist, - 2 is returned. When the key exists but the remaining lifetime is not set, - 1 is returned.

Persist (cancel duration setting)

Invalidate the effective duration of a specific key setting through persist.

Syntax: PERSIST key

127.0.0.1:6379> set bomb tnt OK
127.0.0.1:6379> expire bomb 60 (integer) 1
127.0.0.1:6379> ttl bomb (integer) 49
127.0.0.1:6379> persist bomb (integer) 1
127.0.0.1:6379> ttl bomb (integer) -1
127.0.0.1:6379>

When setting new data, you need to reset the lifetime of the key, and resetting the value will also clear the lifetime.

pexpire (in milliseconds)

pexpire allows the effective duration of the key to be measured in milliseconds, which can achieve more accurate time control. For example, it can be applied to a second kill scenario.

Syntax: PEXPIRE key milliseconds

127.0.0.1:6379> set bomb tnt
OK
127.0.0.1:6379> pexpire bomb 10000
(integer) 1
127.0.0.1:6379> ttl bomb
(integer) 6
127.0.0.1:6379> ttl bomb
(integer) 3
127.0.0.1:6379> ttl bomb
(integer) -2
127.0.0.1:6379>

Topics: Database Redis Cache