第一章 Redis初识

一、简介

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

特点:

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

二、安装、启动redis

1.下载redis最新版本的包

$ wget https://download.redis.io/releases/redis-6.0.9.tar.gz
$ tar -xf redis-6.0.9.tar.gz 
$ cd redis-6.0.9/
$ make -j 2(我的机器是2核,加上可以编译的更快一些)

如果make结果报错:

make[1]: *** [server.o] Error 1
make[1]: Leaving directory /root/redis-6.0.1/src
make: *** [install] Error 2

查看gcc的版本:

$ gcc -v

发现CentOS7默认的gcc版本为4.8.5,安装Redis6.0需要将gcc版本升级到5.3以上,则升级gcc命令如下:

$ yum -y install centos-release-scl
$ yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#临时修改gcc版本
$ scl enable devtoolset-9 bash
#永久修改gcc版本
$ echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
$ source /etc/profile

再进行make,生成一个src目录:

$ cd src

2.启动redis服务

$ ./redis-server &

3.编译安装完redis后,觉得进入安装目录启动redis非常麻烦且不友好,所以将编译安装的redis服务注册为系统服务成为必要操作

  • 修改redis.conf,将daemonize no改为daemonize yes

  • 在系统服务的配置目录/usr/lib/systemd/system 添加redis服务配置文件redis.service

[Unit]
Description=Redis Server Manager
After=syslog.target
After=network.target

[Service]
Type=forking
#需要和redis.conf配置文件中的信息一致
PIDFile=/var/run/redis_6379.pid
# 服务安装目录和配置文件目录
ExecStart=/applications/redis-6.0.9/src/redis-server /applications/redis-6.0.9/redis.conf
ExecStop=/applications/redis-6.0.9/src/redis-cli shutdown
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • 启动服务
$ systemctl daemon-reload
$ systemctl start redis.service
  • 查看服务状态和端口号(6379)
$ systemctl status redis
$ netstat -lntup| grep 6379

到此,redis服务就安装完成啦,可以直接在命令行输入redis-cli命令进入redis操作界面,可以说是很nice啦,see you~~