Redis 数据库由 C语言编写,官方提供的安装包为程序源代码,开发者需要手动进行编译和安装。本教程使用 Redis-4.0.8 版本,并基于 Ubuntu(Linux) 系统进行安装与配置。具体的安装与配置过程如下。
1.【redis-single主机】Redis 需要进行 C程序编译,为了可以正常编译程序源代码,需确保系统中已经配置了如下程序支持库与应用程序:
apt-get -y install g++ gcc libpcre3 libpcrecpp* libpcre3-dev libssl-dev autoconf automake libtool
nfs-kernel-server libncurses5-dev make
2.【redis-single主机】将 Redis 程序包(redis-4.0.8.tar.gz)通过 FTP 上传到 Linux 系统中(/srv/ftp 目录下),随后将其解压缩到 /usr/local/src 目录下。
tar xzvf /srv/ftp/redis-4.0.8.tar.gz -C /usr/local/src/
3.【redis-single主机】源代码解压缩后,可得到 /usr/local/src/redis-4.0.8 目录,按照如下步骤进行编译。
1)进入到源代码目录 cd /usr/local/src/redis-4.0.8。
2)对源代码进行编译:make。
3)安装 Redis:make install。
4.【redis-single主机】Redis 的主要功能是进行数据的缓存,一旦接触到缓存,往往要将主机所有的可用资源都交给 Redis 控制,所以建议做一个内存的分配策略配置。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多
将所有内存交由应用程序管理:echo “vm.overcommit_memory=1” >> /etc/sysctl.conf。
将配置写入到 Linux 内核中:/sbin/sysctl -p。
5.【redis-single主机】创建 /usr/local/redis 目录,在其中设置 bin 子目录,以保存编译后的可执行程序。同时,建立 conf 子目录,用于保存 Redis 配置文件。
mkdir -p /usr/local/redis/{bin,conf}
6.【redis-single主机】通过 Redis 源代码目录,复制 Redis 的相关命令与配置文件模板。
cp /usr/local/src/redis-4.0.8/src/redis-server /usr/local/redis/bin/
cp /usr/local/src/redis-4.0.8/src/redis-cli /usr/local/redis/bin/
cp /usr/local/src/redis-4.0.8/src/redis-benchmark /usr/local/redis/bin/
cp /usr/local/src/redis-4.0.8/redis.conf /usr/local/redis/conf/
7.【redis-single主机】进行 Redis 服务配置,创建相关的数据文件保存目录。
mkdir -p /usr/data/redis/{run,logs,dbcache}
run 子目录存放的是进程 id,logs 子目录存放的是日志信息,dbcache 子目录存放的是数据信息。
8.【redis-single主机】利用 vim 打开 Redis 配置文件。
vim /usr/local/redis/conf/redis.conf
9.【redis-single主机】修改 redis.conf 配置文件,修改内容如下。
10.【redis-single主机】启动 Redis 服务,设置启动的配置文件路径。
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
11.【redis-single主机】通过 Redis 客户端连接 Redis 服务器。
默认连接本机的 Redis /usr/local/redis/bin/redis-cli
设置 Redis 连接主机信息 /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379
本测试中,各项配置参数说明如下。
-n:各连接用户发出的请求数量。
-c:模拟的访问客户端。
-d:每次请求发出的数据长度大小。