玩转Linux系统【四】安装Redis服务

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list(列表),set(集合),zset(有序集合),hash(哈希表)等数据结构的存储。
  • Redis支持数据的备份,即master-slave(主从模式)模式的数据备份。

Redis 优势:

  1. 性能极高 – Redis的读取速度是110000次/s,写入速度是81000次/s 。
  2. 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  3. 原子 – Redis的所有操作都是原子性的。意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  4. 丰富的特性 – Redis还支持 publish/subscribe(发布-订阅模式), 通知, key 过期等等特性。

下载安装

  1. 进入/usr/local目录

    $ cd /usr/local
  2. 离线下载

    https://redis.io/download
  3. 在线下载

    $ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
  4. 解压

    $ tar xzf redis-5.0.5.tar.gz
  5. 安装gcc

    由于redis通过源码安装,依赖gcc编译器,首先确认其机器gcc版本,保证其gcc版本在4.2以上,我这里为4.8故直接跳过该步:

    $ gcc –v
    gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
    # 安装命令
    $ yum install gcc
  6. redis安装

    $ cd redis-5.0.5
    
    # 编译安装
    $ make MALLOC=libc
    
    # 编译测试
    $ make test

    若编译测试出现问题,则直接安装肯定也不通过,可能会出现如下异常

    [root@iz2zehvxttbua2f45dp7ihz redis-5.0.5]# make test
    cd src && make test
    make[1]: Entering directory `/usr/local/redis/redis-5.0.5/src'
        CC Makefile.dep
    make[1]: Leaving directory `/usr/local/redis/redis-5.0.5/src'
    make[1]: Entering directory `/usr/local/redis/redis-5.0.5/src'
    You need tcl 8.5 or newer in order to run the Redis test
    make[1]: *** [test] Error 1
    make[1]: Leaving directory `/usr/local/redis/redis-5.0.5/src'
    make: *** [test] Error 2
    

    上面异常信息说需要tcl包提供支持,所以我们接着安装tcl包

    # 安装tcl包
    $ yum install tcl

    安装完成后再次执行make test,直到输出成功为止

    /usr/local/redis-5.0.5/src目录下的文件加到/usr/local/bin目录

    $ cd src && make install

    image.png

  7. 启动redis服务

    $ ./redis-server

    image.png

该启动方式会随着控制台的退出而关闭,所以我们需要将该服务已后台启动的方式启动

配置为后台服务

  1. 修改redis.conf文件

    $ vim redis.conf
    
    将
    daemonize no
    改为
    daemonize yes

    image.png

  2. redis.conf复制到/etc/redis目录下,并改名为6379.conf

    $ cd /etc
    $ mkdir redis
    $ cd redis
    $ cp /usr/local/redis/redis-5.0.5/redis.conf 6379.conf
    # 该文件为稍后安装的后台服务使用的配置文件
  3. 复制启动脚本到/etc/rc.d/init.d/,并改名为redisd

    # 启动脚本在/redis-5.0.5/utils目录下
    $ cp -f /usr/local/redis/redis-5.0.5/utils/redis_init_script /etc/rc.d/init.d/redisd
  4. 修改复制后的redisd文件,使之能成为服务

    $ cd /etc/rc.d/init.d/
    $ vim redisd
    • 在脚本的第一行后面添加一行内容,如下

      新版本应该不用加了
      #chkconfig:2345 80 90
    • 修改EXEC、CLIEXEC的路径

      # 原内容
      EXEC=/usr/local/bin/redis-server
      CLIEXEC=/usr/local/bin/redis-cli
      
      # 修改后的内容
      EXEC=/usr/local/redis/redis-5.0.5/src/redis-server
      CLIEXEC=/usr/local/redis/redis-5.0.5/src/redis-cli
    • 在$EXEC $CONF后面加上 &

      image.png

    • 添加开机启动

      $ chkconfig redisd on
    • 启动服务

      # 你要将6379端口添加到防火墙中
      $ firewall-cmd --zone=public --add-port=6379/tcp --permanent
      #重新加载
      $ firewall-cmd --reload
      
      $ service redisd start
      Starting Redis server...
      16842:C 13 Jul 2019 23:24:46.881 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
      16842:C 13 Jul 2019 23:24:46.881 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=16842, just started
      16842:C 13 Jul 2019 23:24:46.881 # Configuration loaded
      # 退出控制台,redis也不会关闭了
      # 停止服务
      $ service redisd stop
    • 修改密码

      $ vim /etc/redis/6379.conf
      # 将requirepass的注释放开,并更改密码,保存退出
      requirepass hosredis
  5. 支持外部宿主机远程连接

    • 停止redis服务

      $ service redisd stop
    • 如果停止不了,则可以强杀进程和删除pid

      # 查看进程信息
      $ ps -ef | grep redis
      root    14603   1  0 15:09 ?    00:00:00 /usr/local/redis-5.0.5/src/redis-server
      # 强制杀进程 kill -9 进程id
      $ kill -9 14603
    • 修改/etc/redis/6379.conf

      $ vim /etc/redis/6379.conf
      # 将bind的值由127.0.0.1改为0.0.0.0
      bind 0.0.0.0
    • 重启服务

      $ service redisd start
    • 外部再次尝试连接

      image.png

  6. redis-cli工具使用

    redis-cli工具是redis提供的命令工具,常用命令如下

    $ redis-cli
    如果有密码,则需要auth认证
    127.0.0.1:6379> auth hosredis
    OK
    127.0.0.1:6379> set efg 456
    OK
    127.0.0.1:6379> get efg
    "456"
    127.0.0.1:6379> exit
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
14天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
38 5
linux系统服务二!
|
14天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
37 3
linux系统服务!!!
|
18天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
19天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
87 3
|
19天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
64 3
|
24天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
202 3
|
30天前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
50 1
|
8天前
|
NoSQL 编译器 Linux
【赵渝强老师】Redis的安装与访问
本文基于Redis 6.2版本,详细介绍了在CentOS 7 64位虚拟机环境中部署Redis的步骤。内容包括安装GCC编译器、创建安装目录、解压安装包、编译安装、配置文件修改、启动服务及验证等操作。视频讲解和相关图片帮助理解每一步骤。
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
233 3
|
1月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
25 2