redis:linux安装Redis4

Redis是一个基于内存的轻量级键值对数据库

1、下载安装Redis

Redis建议运行在非root权限下

ubuntu18.04

开发环境:Ubuntu18.04 LTS.

推荐源码安装,因为redis的更新速度较快,官方源不一定能到最新

安装方法一:源码安装

1、创建目录

>*  mkdir redis
>*  cd redis

2、安装编译工具

> * sudo apt-get install build-essential

3、下载解压redis,并进入对应目录

>* wget http://download.redis.io/releases/redis-4.0.1.tar.gz
>*  tar zxvf redis-4.0.1.tar.gz
>*  cd redis-4.0.1/

4、备份redis的配置文件

>*  cp redis.conf redis.confbk

5、编译依赖项

> * cd deps/
> * make hiredis lua jemalloc linenoise

6、编译redis

> * cd ..
>* make
【编译成功标志:
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory '/home/ocean/workspaces/redis/redis-4.0.1/src'】

7、安装Redis【安装到指定目录】

> * make PREFIX=/home/ocean/workspaces/redis/redis-4.0.1  install

在这里插入图片描述

8、查看是否成功生成了redis的二进制文件:

> * cd bin
> * ls

在这里插入图片描述

注:

  • redis-benchmark :Redis基准测试工具
  • redis-check-rdb :Redis RDB检查工具
  • redis-check-aof :Redis AOF检查工具
  • redis-cli:Redis命令行工具
  • redis-server:Redis服务端
  • redis-sentinel:

安装方法二:apt-get

>* sudo apt-get update
>* sudo apt-get install redis-server

状态查看:

systemctl status redis

修改配置文件里

sudo vim /etc/redis/redis.conf
  • 注释掉bind 127.0.0.1。将这部注释掉,否则只有本机才能访问
  • 保护模式修改为no。protected-mode no 保持默认
  • 找到 daemonize no ,修改为 daemonize yes //默认以后台程序方式运行,不需要加&强制后台运行了
  • 修改密码。requirepass xxxxxx

然后再重新启动redis即可

service redis restart
systemctl status redis

centos

安装包安装

1、创建目录

>* mkdir redis
>*  cd redis

2、安装编译工具

> * yum -y install gcc gcc-c++ kernel-devel

3、下载解压redis,并进入对应目录

> *  wget  http://download.redis.io/releases/redis-stable.tar.gz
> *  tar zvxf redis-stable.tar.gz 
> *  cd redis-stable/

4、备份redis的配置文件

>*  cp redis.conf redis.confbk

5、编译依赖项

>* cd deps/
> * make hiredis lua jemalloc linenoise

6、编译redis

> * cd ..
> * make
【编译成功标志:
Hint: It's a good idea to run 'make test' ;)
make[1]: 离开目录“/home/oceanstar/workspace/redis/redis-stable/src”

7、安装Redis【安装到指定目录】

> * make PREFIX=/home/oceanstar/workspace/redis/redis-stable install

8、查看是否成功生成了redis的二进制文件:

> * cd bin
> * ls

设置开机自启

1.复制脚本到/etc/rc.d/init.d目录

> * cd /home/oceanstar/workspace/redis/redis-stable/utils
> * cp redis_init_script /etc/init.d/redis

2.更改redis脚本

> vi /etc/init.d/redis

在这里插入图片描述

3.将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf

> * mkdir /etc/redis
> *  cp /home/oceanstar/workspace/redis/redis-stable/redis.conf /etc/redis/6379.conf

4、注册redis服务

> * chkconfig --add redis

5、设置开机自启redis服务

> chkconfig redis on 

2、启动停止Redis

我采用的是源码安装

>* cd /home/ocean/workspaces/redis/redis-4.0.1

操作

启动

使用默认配置启动Redis

>* cd bin 【进入刚刚源码安装的bin目录下】
>*  ./redis-server

或者:

>*  bin/redis-server
# ./redis-server 
117978:C 10 Oct 2021 12:07:48.016 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
117978:C 10 Oct 2021 12:07:48.016 # Redis version=6.0.5, bits=64, commit=00000000, modified=0, pid=117978, just started
117978:C 10 Oct 2021 12:07:48.016 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
117978:M 10 Oct 2021 12:07:48.017 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 6.0.5 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 117978
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

可以看到直接使用redis-server启动redis之后,会打印出一些日志,通过日志可以看到一些信息:

  • 当前redis的版本是 Redis 6.0.5
  • redis的默认端口是6379
  • redis建议使用配置文件来启动

建议:因为直接启动无法自定义配置文件,所以这种方式是不会在生产环境中使用的

运行启动

比如:

> * bin/redis-server --port 6380

建议:不推荐,因为修改的配置无法持久化,尤其在要修改的配置比较多时

指定配置启动Redis

redis目录下有一个叫做redis.conf的配置文件,里面就是redis的默认配置

> * bin/redis-server redis.conf

比如: 后台启动Redis

> * sudo gedit redis.conf
> * daemonize yes 【修改配置daemonize为后台启动,然后保存退出】
> *  bin/redis-server redis.conf
13989:C 10 Oct 2021 12:16:52.123 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
13989:C 10 Oct 2021 12:16:52.123 # Redis version=6.0.5, bits=64, commit=00000000, modified=0, pid=13989, just started
13989:C 10 Oct 2021 12:16:52.123 # Configuration loaded

建议:

  • 可以看出通过配置文件启用提供了更大的灵活性,所以生成环境会使用这种
  • 实际运维中,我们通常会在一台机器上启动多个redis,并且将配置集中管理在指定目录下,并且配置不是完全手写的,而是在redis.conf作为模板进行修改

停止

前台启动

> * CTRL + C

后台启动方法1

>*  kill pidof redis-server

后台启动方法2

>*  bin/redis-cli shutdown
  • 强烈建议使用此方法

注意:如果采用的是apt-get安装

>*  /ect/init.d/redis-server start【启动】
>*  /ect/init.d/redis-server stop【停止】

工作原理

启动

  • 启动实例表示启动一个redis-server进程,同一个主机可以允许多个redis实例,只要这些实例采用不同配置:绑定不同端口、采用不同日志路径、使用不同路径保存数据持久化相关文件。
  • 在启动redis时,可以直接将配置参数添加到redis-server地命令行参数中。当单机上存在多个实例时,可以把通用配置参数保存在一个实例中,通过命令行参数区分每个实例地独有配置参数,通过ps等命令可以区分不同实例。
  • 可以通过使用systemd、Monit等进程管理工具来管理不同redis实例

停止

强烈建议使用shutdown命令停止redis服务:如果关心数据一致性且配置了数据持久化来将内存中的数据保存到磁盘中,那么shutdown除了会终结进程,还会执行其他一系列操作:

  • 首先redis-server会停止响应客户端的连接
  • 然后,如果启动了持久化,则会执行数据持久化操作;
  • 之后,如果.pid文件和socket套接字文件描述符存在的话,则会进行清理并最终退出进程。
  • 通过这种策略,redis会尽可能地防止数据丢失。如果使用kill杀死进程,那么由于在服务器关闭之前数据可能尚未被持久化而导致数据丢失

3、使用redis-cli连接到Redis

准备

  • 启动一个redis服务器

操作

打开终端,并通过redis-cli连接到redis:

>* bin/redis-cli
127.0.0.1:6379>

命令行提示符前面时IP地址:Redis监听端口号形式,表示redis-cli已经成功连接到了该redis实例

测试:

(1)设置两个字符键值对

>* set foo value1 【结果:OK】
>* set bar value2【结果:OK】

(2)获取刚刚设置的值

>*  get foo【结果:"value1">*  get bar【结果:"value2"

(3)停止redis实例

>*  shutdown
not connected>  # redis服务器已经关闭

(4)退出redis-cli

>*  quit

(5)尝试连接redis实例

> bin/redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused

解释:不能连接

备注

  • redis-cli连接redis服务器时,可以-h指定主机名/IP地址 、-p指定端口、-a指定密码、-s指定Unix套接字
redis-cli -h 127.0.0.1 -p 6349 

4、获取服务器信息

准备

  • 启动redis服务器并使用redis-cli连接

操作

  • INFO 【输出当前所连接的redis服务器的所有指标】
  • INFO Server【输出当前所连接的redi服务器的基本信息】
  • INFO Clients【客户端连接的状态和指标】
  • INFO Memory【大致的内存消耗指标】
  • INFO Persistence【数据持久化相关的状态和指标】
  • INFO Stats【总体统计数据】
  • INFO Replication【主从复制相关的状态和指标】
  • INFO CPU【CPU使用情况】
  • INFO Cluster【Redis Cluster的状态】
  • INFO Keyspace【数据库相关的统计数据】

备注

  • 可以通过定期的使用INFO命令来获取信息构建Redis监控应用
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值