Linux安装Redis教程

举例版本

  • Redis版本 5.0.4

  • 服务器版本 Linux CentOS 7.6 64位

下载Redis

进入官网找到下载地址 https://redis.io/download
image
右键Download按钮,选择复制链接。
进入到Xshell控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令:

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

image
等待下载完成。

目录推荐

推荐将安装包都下载到/data/package目录下
推荐将程序包都上传到/data/software目录下

解压

tar -zvxf redis-5.0.7.tar.gz

解压后在根目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-5.0.7.tar.gz文件和 redis-5.0.7的目录。

移动redis目录

一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。

mv /data/package/redis-5.0.7 /usr/local/redis

编译

进入redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。

cd /usr/local/redis

make

Centos中无法使用make,make install,提示错误 make: command not found
解决方法:make是gcc的编译器,一定要安装
安装

yum -y install gcc automake autoconf libtool make

安装g++

yum install gcc gcc-c++

image

安装redis

输入以下命令

make PREFIX=/usr/local/redis install

关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。

假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定好目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

设置内存分配策略

当linux服务器重启或redis重启后,会发现redis之前存储的数据会部分丢失甚至全部丢失;

修改配置 vi /etc/sysctl.config

添加一行 vm.overcommit_memory = 1

wq保存修改的配置,然后 sysctl -p 使配置生效
image
Redis建议把这个值设置为1, 是为了让fork操作能够在低内存下也执行成功。

启动redis

确认上面的操作已经将redis安装完成了。
进入目录/usr/local/redis 输入下面命令启动redis

  • 方式一:使用默认配置文件,采用后台进程方式运行
    ./bin/redis-server &
    
  • 方式二:使用指定配置文件,采取显示启动方式运行(设置daemonize属性为yes则跟后台进程方式启动一样效果)
    ./bin/redis-server ./redis.conf
    
  • 在同一台服务器开启多个redis进程
    redis-server /usr/local/redis/6370.conf
    redis-server /usr/local/redis/6380.conf
    redis-server /usr/local/redis/6390.conf
    

    使用多个进程来共享Redis,以实现多进程模型,并用多种方法同时实现一个状态的存储和访问,减少了请求响应的次数。
    可以提高应用的运行性能,处理大量的实时请求数据服务,提高服务器的处理能力,大大提升反应速度,提升用户体验。

终止进程

./bin/redis-cli shutdown

查询redis进程

  • 方式一:ps aux | grep redis-server

  • 方式二:netstat -lanp | grep 6379

查看配置项

登入:redis-cli
查看:CONFIG GET *

修改配置文件

vim /usr/local/redis/redis.conf

通过反斜杠/ 关键字查找出现多个结果则使用 n 字符切换到下一个即可,查找到结果后输入:noh退回到正常模式

重要配置项

配置项名称配置项值范围说明
daemonizeyes、noyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port 指定 Redis 监听端口,默认端口为 6379
bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-modeyes 、no保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout300当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
logleveldebug、verbose、notice、warning日志级别,默认为 notice
databases16设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilenamedump.rdb指定本地数据库文件名,默认值为 dump.rdb
dir 指定本地数据库存放目录
requirepass 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭
maxclients0设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemoryXXX 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。
posted @ 2023-03-23 10:53  空还是空  阅读(44)  评论(0编辑  收藏  举报