一、Redis 入门简介

一、Redis 简介

1.1、Redis是什么

        Redis(Remote Dictionary Server) 是一个开源的 ANSI C 语言编写的 key-value 形式内存数据存储,我们可以使用它作为内存数据库、缓存、流式引擎或消息队列等。

        官网地址:Redis官网地址

1.2、Redis 能做什么?

        Redis 既可以当做主数据库,也可以当作辅助数据库。应用场景:缓存加速、分布式会话、排行榜场景、分布式计数器、分布式锁等。

  1.3、Redis 的优点

  • 低延迟、速度快(基于内存、IO多路复用、良好的编码)
  • 支持数据持久化(AOF、ADB)
  • 支持主从集群(读写分离)、分片集群
  • 支持多语言客户端

二、Redis 源码编译安装

2.1、Linux 虚拟机环境准备(使用 Vagrant)

        我们都是开发者,建议大家使用开源产品进行环境搭建。如果大家已经搭建了Linux环境,这一步骤可以跳过。我使用 VBOX +  Vagrant 进行虚拟机环境管理。

# 初始化 centos 7 配置

vagrant init centos/7

# 启动 centos 7

vagrant up

# ssh 登录到 Linux 虚拟机

vagrant ssh 

2.2、下载配置环境

        vagrant Linux 虚拟机默认 root 账号密码为:vagrant

# 下载开发工具,使用 scl 开发套件

yum install wget -y

yum install devtoolset-11-gcc-c++ devtoolset-11-gcc devtoolset-11-gdb devtoolset11-build -y

yum install python3

# 使环境生效
scl enable devtoolset-11 bash

# 查看 gcc 版本
gcc --version

2.3、下载 Redis 源码并解压

# 下载源代码
wget https://github.com/redis/redis/archive/7.0.9.tar.gz

# 解压代码

tar xf 7.0.9.tar.gz 

2.4、源码编译安装

        需要注意:如果不指定安装目录,默认安装在 /usr/local/bin 目录

# 切换到源码目录

cd redis-7.0.9/

# 编译 编译时可以指定编译参数:

make -j 4

# 安装

make install PREFIX=/opt/redis

2.5、启动Redis的几种方式

2.5.1、前台启动

# 创建配置文件目录
mkdir -p /opt/redis/conf

# 拷贝配置文件

cp /opt/redis-7.0.9/redis.conf  /opt/redis/config/redis.conf

# 启动redis 服务

/opt/redis/bin/redis-sever /opt/redis/config/redis.conf

2.5.2、后台启动

1、修改 redis.conf 文件 

daemonize yes

2、启动 Redis

/opt/redis/bin/redis-sever /opt/redis/config/redis.conf

2.5.3、Systemd 服务方式启动

1、要想让 Redis-Server 交友 Systemd来管理,比如添加 service 配置文件

        vi /etc/systemd/system/redis.service

[Unit]
Description=Redis data structure server
Documentation=https://redis.io/documentation
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/opt/redis/bin/redis-server /opt/redis/config/redis.conf
LimitNOFILE=10032
NoNewPrivileges=yes
#OOMScoreAdjust=-900
#PrivateTmp=yes
Type=simple

[Install]
WantedBy=multi-user.target
# 重新加载后台进程配置
systemctl daemon-reload 

# 启动服务项
systemctl start  redis.service

# 查看服务状态

systemctl status  redis.service

        如果启动失败,可以通过 journalctl -xe 或者 journalctl -u redis 来查看详细日志。如果提示权限不足,我们可以验证一下 ExecStart 配置是否正确。

       如果提示不能打开 redis.conf  可能就需要对 文件添加权限。

2、也可以在编译的时候添加参数

make USE_SYSTEMD=yes -j 4

        设置了上述参数,就需要使用到 python3 的依赖

3、如果编译报错:如下错误就是需要安装 systemd开发库

[root@localhost redis-7.0.9]# make USE_SYSTEMD=yes
cd src && make all
make[1]: Entering directory `/opt/redis-7.0.9/src'
    CC Makefile.dep
make[1]: Leaving directory `/opt/redis-7.0.9/src'
make[1]: Entering directory `/opt/redis-7.0.9/src'
    CC adlist.o
    CC quicklist.o
    CC ae.o
    CC anet.o
    CC dict.o
    CC server.o
In file included from server.c:30:
server.h:57:10: fatal error: systemd/sd-daemon.h: No such file or directory
   57 | #include 
      |          ^~~~~~~~~~~~~~~~~~~~~
#Centos 7

yum install systemd-devel

# Ubuntu

apt-get install libsystemd-dev

你可能感兴趣的:(redis,缓存,数据库,java,c++)