Node JS Redis Example

In this example, I’m going to show you how to use AWS Redis with Node?

Prerequisite:

1: You need to have an AWS account.
2: You should have basic knowledge of NodeJs

Steps:

You need to create an AWS EC2 Instance to host our app.
(Create AWS ec2 Instance)

Now connect AWS EC2 through putty:

(AWS EC2 Instance Connect Through putty)

Now, we will update the server and install the GCC Compiler.

sudo yum -y update
sudo yum -y install gcc make
Download and install Redis 3.2. Double-check Redis for the latest link. If you get an error, use command “ls” to check the file name.
cd /usr/local/src
sudo wget http://download.redis.io/releases/redis-3.2.0.tar.gz
sudo tar xzf redis-3.2.0.tar.gz
sudo rm -f 3.2.0.tar.gz

Recompile Redis

cd redis-3.2.0
sudo make distclean
sudo make

Install tcl and Test Redis Installation

sudo yum install -y tcl
sudo make test

Make directories & copy files

sudo mkdir -p /etc/redis /var/lib/redis /var/redis/6379
sudo cp src/redis-server src/redis-cli /usr/local/bin
sudo cp redis.conf /etc/redis/6379.conf

Configure Redis

You will need some vim basics for this part.
pressing “:set number” will show the line numbers
pressing “i” will allow you to insert text (edit)
pressing “esc” will stop inserting and allow other vim commands
pressing “:wq” followed by entering will write then quit vim

Open the config file

sudo vi /etc/redis/6379.conf

Edit the file, using vim, and confirm the options are set as shown. Line numbers may be shown in the bottom right-hand side of the vim window. Don’t include the line numbers as you edit!

bind 127.0.0.1 //line 61
daemonize yes //line 127
logfile "/var/log/redis_6379.log" //line 162
dir /var/redis/6379 //line 246

Download and install the init script

sudo wget https://raw.githubusercontent.com/saxenap/install-redis-amazon-linux-centos/master/redis-server

sudo mv redis-server /etc/init.d
sudo chmod 755 /etc/init.d/redis-server

Open the Redis server init script with vim

sudo vi /etc/init.d/redis-server

Edit the config file reference to match

REDIS_CONF_FILE="/etc/redis/6379.conf" //line 26

Auto-enable and start the Redis server

sudo chkconfig --add redis-server
sudo chkconfig --level 345 redis-server on
sudo service redis-server start

Open the system controller config file with vim.

sudo vi /etc/systctl.conf

Add the following lines to ensure background saves and fix the low-memory issue. This is a new file.

# ensure redis background save issue

vm.overcommit_memory = 1
systctl vm.overcommit_memory=1

Test Redis Server

redis-cli ping

Reference:

https://medium.com/@andrewcbass/install-redis-v3-2-on-aws-ec2-instance-93259d40a3ce