REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
下面着重介绍下Redis的安装以及配置开机启动
Redis的官方网址为:https://redis.io/
Redis的安装
我们可以通过官方网站的download去下载最新稳定版本的redis
我这里下载的是6.2.1版本

下载并解压最新源码
wget https://download.redis.io/releases/redis-6.2.1.tar.gz tar xvf redis-6.2.1.tar.gz
当前是在root目录下面的,根据Linux的基本规则,一般是放到/usr/local
里面,所以我们mv到/usr/local
mv redis-6.2.1 /usr/local/redis
进入到redis的src
目录里面,就直接make
吧,然后等待安装完成就可以了。
当make成功之后,这个时候我们就可以通过下面的命令进行启动了。
./redis-server ../redis.conf # redis.conf是默认的配置文件

Redis配置
我们可以编辑默认的配置文件
vim ../redis.conf
我们可以使用/requirepass
来进行如图的搜索,在如图所示的地方,我们可以设置redis的访问密码。
requirepass 1234qwert # 后面的是密码
重启之后,我们可以使用密码进行登录,如下图所示。
Redis Service配置
首先我们创建一个文件比如起名字叫做redis.service
,这个redis就是以后我们在使用service的时候的名字。
内容如下:
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] Type=forking PIDFile=/var/run/redis/redis.pid User=redis Group=redis Environment=statedir=/var/run/redis PermissionsStartOnly=true ExecStartPre=/bin/mkdir -p ${statedir} ExecStartPre=/bin/chown -R redis:redis ${statedir} ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf ExecStop=/bin/kill -s TERM $MAINPID Restart=always LimitNOFILE=1000000 LimitNPROC=1000000 LimitCORE=1000000 [Install] WantedBy=multi-user.target
从上图可以看到,我们是使用PIDFILE的方式,把相关的文件都放到了/var/run/redis
里面,所以我们先创建这个文件夹。
vim redis.service mkdir /var/run/redis
然后我们创建redis的用户组和用户。
groupadd redis # 创建redis用户组 useradd -g redis -s /sbin/nologin redis # 创建不可以登录的redis用户,并把其分配至redis用户组。
并把我们刚才创建的文件夹权限修改为我们创建的redis用户和redis用户组。
chown -R redis:redis /var/run/redis
完成后,我们把redis.service
文件移动到/usr/lib/systemd/system/
mv redis.service /usr/lib/systemd/system/
到现在redis.service
已经配置完成,但是为了符合redis的service的要求,我们还需要修改配置文件。
daemonize yes # 默认为daemonize no

修改默认的pid路径
pidfile /var/run/redis/redis.pid

最后修改下redis数据存在的默认位置,如果不设置此路径或者此路径不存在的时候或者null
的时候,在执行完保存后会报错的。
dir /home/redis/data

至此,redis已经可以支持service的方式启动了。
systemctl enable redis # 开机启动reids systemctl start redis # 启动redis systemctl stop redis # 停止redis systemctl restart redis # 重启redis