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

在大数据生产环境中,常常将频繁使用的结果数据存到的内存数据库,即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简介和安装配置)