美文网首页
Redis从入门到精通1:Redis简介和安装配置

Redis从入门到精通1:Redis简介和安装配置

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-04 23:42 被阅读0次

    在大数据生产环境中,常常将频繁使用的结果数据存到的内存数据库,即Redis中,因为内存的速度是磁盘速度的1000+倍。本节就来介绍Redis的相关知识。

    Redis 官网:https://redis.io/
    Redis 在线测试:http://try.redis.io/
    Redis 全版本链接:http://download.redis.io/releases/

    本节用到的安装介质下载:redis-5.0.2.tar.gz 提取码:lhwb

    1.什么是Redis

    (1)Redis简介

    Redis,全称是Remote Dictionary Server,即远程字典服务器,是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个完全开源且免费、使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型的Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String)、哈希(Map)、列表(list)、集合(sets) 和 有序集合(sorted sets)等类型。

    Redis的前身是Memcached。Memcached也是将数据存储到内存中,但是Memcached不能叫做数据库,只能叫缓存,因为它不能持久化,并且Memcached没有丰富的数据类型。Redis弥补了Memcached的这两大不足。

    Redis 与其他 Key-Value 缓存产品相比,有以下三个特点:

    1. Redis不仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等复杂数据结构的存储。
    2. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis持久化有RDB和AOF两种方式。
    3. Redis支持数据的备份,即master-slave模式的数据备份:实现了读写分离,提高速度。

    (2)Redis的优势

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

    (3)Redis与其他key-value存储的区别

    • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
    • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

    2.安装配置Redis

    Redis是用C语言开发的,需要先安装gcc编译器,然后下载源码包,最后进行安装配置。

    (1)安装gcc编译器

    # yum install -y gcc

    (2)解压Redis安装包

    # cd /root/tools
    # tar -zxvf redis-5.0.2.tar.gz

    (3)编译安装

    # cd redis-5.0.2
    # make
    # make PREFIX=/root/trainings/redis-5.0.2 install

    (4)修改Redis的配置文件

    从源码包中拷贝配置文件redis.conf放到REDIS_HOME/conf中,根据需求修改配置文件:

    # cd /root/trainings/redis-5.0.2
    # mkdir conf
    # cp /root/tools/redis-5.0.2/redis.conf conf/
    # vim conf/redis.conf
    92行:port 6379 默认端口(多个实例需要以端口区分)
    136行:daemonize yes 是否以后台方式运行

    3.启动Redis服务器

    切换到REDIS_HOME目录:

    # cd /root/tools/redis-5.0.2

    (1)运行redis-server命令:使用默认配置,以前台方式启动

    # bin/redis-server

    image

    退出前台:Ctrl+C

    (2)运行redis-server命令:使用自定义配置,如刚才配置的后台启动

    # bin/redis-server conf/redis.conf
    6612:C 04 Dec 2018 23:40:20.336 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    6612:C 04 Dec 2018 23:40:20.336 # Redis version=5.0.2, bits=64, commit=00000000, modified=0, pid=6612, just started
    6612:C 04 Dec 2018 23:40:20.336 # Configuration loaded

    查看Redis进程:

    # ps -ef|grep redis
    root 6613 1 0 23:40 ? 00:00:00 bin/redis-server 127.0.0.1:6379
    root 6618 1894 0 23:40 pts/0 00:00:00 grep --color=auto redis

    退出后台:

    • 退出一个:# kill -9 6613
    • 退出全部:# killall redis-server

    4.启动Redis客户端

    (1)默认连接本机(127.0.0.1)的Redis服务器的默认6379端口:

    # bin/redis-cli
    127.0.0.1:6379>

    (2)连接远程主机的Redis服务器:

    # bin/redis-cli -h 127.0.0.1 -p 6379
    127.0.0.1:6379>

    (3)退出客户端

    127.0.0.1:6379>quit
    或者 Ctrl+C

    5.Redis相关命令介绍

    Redis一共提供了下面6中功能:

    # ls bin
    redis-benchmark # redis压力测试工具
    redis-check-aof # 检查AOF日志的工具
    redis-check-rdb # 检查RDB快照的工具
    redis-cli # redis命令行客户端
    redis-sentinel # 哨兵机制:实现Redis的HA
    redis-server # redis的服务器端

    相关文章

      网友评论

          本文标题:Redis从入门到精通1:Redis简介和安装配置

          本文链接:https://www.haomeiwen.com/subject/avpkdhtx.html