Redis下载安装教程(详细步骤)

首先来介绍一下什么是Redis

Redis是一个开源的、高性能的键值存储系统,支持多种数据结构,包括字符串哈希表列表集合有序集合。它采用C语言编写,主要特点是速度快、使用简单、可靠性高、支持数据持久化、支持主从复制等功能。
Redis 是完全开源免费的,遵守BSD协议,高性能的基于键值对(key-value)的NoSQL(Not Only SQL)数据库。
Redis被广泛应用于缓存、队列、数据存储和消息传递等场景,是当前最受欢迎的NoSQL数据存储之一。

  • SQL (Struct Query Lanauge 结构化的查询语言) 。引申含义 RDBMS产品,传统的关系型数据库,存储格式化的表格数据。
  • NOSQL (Not Only SQL )不仅仅只有关系型数据库。引申含义:非关系型数据库。存储半格式化和非格式化的数据,如k-v、json、xml

关系型数据库的特点

  • 存储结构化数据:多行多列的表结构数据。
  • 强事务:支持完整的ACID事务特性。
  • 在磁盘中存储数据:可通过索引加速检索。
  • 数据量到达一定量级,查询性能就会出现瓶颈:根据表字段不同,在百万或者千万级时会遇到。
  • 支持SQL:大部分的SQL语句都可以跨越数据库。
  • 原生不支持分布式:需要借助第3方中间件分库分表,以应对海量存储需求。

Redis的特点

  • 存储非结构化的数据:k-v方式存储数据。
  • 弱事务:支持事务的部分特性。
  • 在内存中存储数据,但能同时持久化数据到磁盘。
  • 查询性能非常好,但不支持连接查询。
  • 不支持SQL,需要使用特定的命令。
  • 天然支持集群、数据分片,扩展容易。

Redis就是一个在内存中,存储k-v格式数据,支持自动持久化的NoSQL型数据库

Redis开发中的应用

典型应用:

  • 在一定程度上代替关系型数据库,保存需要持久化,但对事务要求不高的数据:购物车
  • 充当应用中的缓存,Redis查询性能非常好,可支持的并发远高于关系型数据库。可以优先从Redis中查询数据,缓存为命中后,再从数据库中查询并缓存数据到Redis中,以提升程序性能。
  • Redis提供了丰富的数据类型,可以解决关系型数据库不方便解决的问题,比如:排行榜(热度、时间等维度)、计数器(播放量、浏览数)、社交网络(赞\踩、粉丝、共同好友)
  • 解决分布式系统带来的新问题,比如对tomcat集群的session进行统一的存储管理。

说明:Redis并不是万金油,有很多适合它解决的问题,但是也有很多不合适它解决的问题。

  • 从数据规模的角度上看,数据可以分为大规模数据小规模数据,Redis的数据是存放在内存中的,虽然现在内存已经足够便宜,但是如果数据量非常大,例如每天有几亿的用户行为数据,使用Redis来存储的话,基本上是个无底洞,经济成本相当的高。
  • 从数据冷热的角度上看,数据分为热数据和冷数据。热数据通常是指需要频繁操作的数据,反之为冷数据。如果将这些冷数据放在Redis中,基本上是对于内存的一种浪费,但是对于一些热数据可以放在Redis中加速读写,也可以减轻后端存储的负载,可以说是事半功倍。

接下来就是重点了,Redis要如何安装以及打开它并运行使用呢

Redis的安装使用

博主本人在这里是在Centos7环境下安装的Redis

  1. 上传 redis-5.x.x.tar.gz 到linux虚拟机的 /opt 文件夹
    下载链接:链接:https://pan.baidu.com/s/1DbDvG0RTdbU7NigSPipOjg
    提取码:b8p5

  2. 安装gcc(上面提到了Redis是采用C语言编写的)

[root@localhost ~]# yum install -y gcc
  1. 解压缩 redis-5.x.x.tar.gz
[root@localhost opt]# tar xzvf redis-5.0.10.tar.gz
  1. 进入到redis根目录,进行编译、安装
    (注意在这里最好是先编译在安装这样子绝对不会出什么问题,如果make && make install 可能会安装失败)
[root@localhost opt]# cd redis-5.0.10
[root@localhost redis-5.0.10]# make
[root@localhost redis-5.0.10]# make install

(进行到这里就安装完毕了Redis可以直接跳到第6步运行了)
5. 将 redis-5.x.x/redis.conf 复制到 /etc/redis/目录下(可以省略)

[root@localhost redis-5.0.10]# mkdir -p /etc/redis/
[root@localhost redis-5.0.10]# cp redis.conf /etc/redis/
  1. 启动redis:通过redis-server启动redis
[root@localhost redis-5.0.10]# redis-server /etc/redis/redis.conf 
6255:M 08 Jun 00:19:28.368 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.10 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 6255
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                     
          `-._        _.-'                                       
              `-.__.-'                                               

说明:redis默认监听端口6379。(如果直接输入redis-server,那么默认会读取安装路径下的那个redis.conf配置文件)

Redis的命令行客户端

Redis自带了一个命令行的客户端:redis-cli。下面我们介绍如何使用redis-cli连接、操作Redis服务。

  1. 打开客户端(也就是redis-server正确运行)
# redis-cli -h 主机ip -p 端口号    -h和-p都可以省略,默认后默认为127.0.0.1和6379
[root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> 
  1. 连接成功,执行命令
# 键入各种redis命令, 比如keys * 查询redis中所有的key
127.0.0.1:6379> keys *
(empty list or set)
  1. 停止redis服务
127.0.0.1:6379> shutdown
not connected> 
  1. 关闭客户端
not connected> exit
[root@localhost ~]# 

说明:可以通过redis-cli -h 主机ip -p 端口号 命令的方式,直接执行单个命令。

Redis重大版本

  • Redis2.6(2012):服务端支持lua脚本;键的过期时间支持毫秒。
  • Redis2.8(2013):增加了增量主从复制功能,提高了主从复制性能;Redis Sentinel第二版,相较于2.6版本,次版本已经生产可用。
  • Redis3.0(2015):增加了Redis Cluster,这是官方的分布式实现。
  • Redis3.2(2016):添加了GEO相关功能;从节点读取过期数据保持一致;数据持久化方面更换了新的RDB格式,但是仍然兼容旧的格式。
  • Redis4.0(2017):提供了module功能,方便第三方开发者扩展redis功能;提供了非阻塞del和flushall/flushdb功能,有效解决删除bigkey可能造成的Redis阻塞;提供了RDB-AOF混合持久化格式,充分利用了AOF和RDB各自优势。
  • Redis5.0(2018):新的流数据类型(Stream DataType);RDB新增LFU和LRU信息;集群管理器从Ruby(redis-trib.rb)移植到了redis-cli中的C语言代码。
  • Redis6.0(2020):引入多线程IO,但执行命令仍是单线程;提供了Redis集群代理功能;改进了PSYNC2的复制协议;推出了更新的RESP3(Redis Serialization Protocol)即Redis 服务端与客户端之间通信的协议第3版;加强了对集群的支持,包括更好的负载均衡和更快的故障转移。

Redis借鉴了Linux操作系统对于版本号的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本。所以我们在生产环境通常选取偶数版本的Redis,如果对于某些新的特性想提前了解和使用,可以选择最新的奇数版本。

相关推荐

  1. Redis下载安装教程详细步骤

    2023-12-05 16:38:03       45 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 16:38:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 16:38:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 16:38:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 16:38:03       20 阅读

热门阅读

  1. Python实现pdf文件转word文件

    2023-12-05 16:38:03       37 阅读
  2. MySQL数据库命令详解(二)

    2023-12-05 16:38:03       40 阅读
  3. 国防科技大博士招生入学考试【50+论文主观题】

    2023-12-05 16:38:03       24 阅读
  4. 我的创作纪念日

    2023-12-05 16:38:03       37 阅读
  5. Linux设备与STM32 USB串口通讯

    2023-12-05 16:38:03       42 阅读
  6. 23年9月-11月工作笔记整理(前端)

    2023-12-05 16:38:03       35 阅读
  7. 微前端前置知识----webComponents

    2023-12-05 16:38:03       37 阅读