解压-linux下安装redis

Redis是c语言开发的

安装redis需要c语言的编译环境。如果没有gcc需要在线安装。

*在linux下输入安装gcc

linux 中redis集群配置 redis集群安装部署linux_ruby

*解压redis

linux 中redis集群配置 redis集群安装部署linux_操作系统_02

*进入解压后的redis目录编译

linux 中redis集群配置 redis集群安装部署linux_ruby_03

*编译完成后在当前目录安装

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_04

PREFIX代表安装到指定目录

*进入安装目录下的bin目录

linux 中redis集群配置 redis集群安装部署linux_数据库_05

这就代表安装成功了

 

*前端启动

在bin目录下输入./redis-server

linux 中redis集群配置 redis集群安装部署linux_数据库_06

看到这个就代表启动成功了,但是启动了之后不能进行其它操作了

 

*后台启动(需要一个配置文件)

在redis的源码包里面有个redis.conf文件拷贝到安装目录

linux 中redis集群配置 redis集群安装部署linux_redis_07

然后修改配置文件的内容

linux 中redis集群配置 redis集群安装部署linux_redis_08

然后在启动命令后加上redis.conf就可以后台启动了

linux 中redis集群配置 redis集群安装部署linux_数据库_09

查看进程后发现已经启动

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_10

 

 

redis的五种数据类型(redis中所有的数据都是字符串)



String:key-value(做缓存)
Hash:key-fields-values(做缓存)
List:有顺序可重复
Set:无顺序,不能重复
SortedSet(zset):有顺序,不能重复



incl:代表加一(生成ID)

Decr:代表减一

hash可以对key进行归类

hash保存

linux 中redis集群配置 redis集群安装部署linux_操作系统_11

hash获取

linux 中redis集群配置 redis集群安装部署linux_ruby_12

 

向list中添加(l开头代表从左边添加)

linux 中redis集群配置 redis集群安装部署linux_ruby_13

查看list中的所有内容

linux 中redis集群配置 redis集群安装部署linux_redis_14

向list中添加(r开头代表从右边添加)

linux 中redis集群配置 redis集群安装部署linux_ruby_15

list弹出左边第一个数据(弹出后里面就没有了)

linux 中redis集群配置 redis集群安装部署linux_数据库_16

list弹出右边第一个数据

linux 中redis集群配置 redis集群安装部署linux_ruby_17

 

向set中添加数据

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_18

查看set中的数据

linux 中redis集群配置 redis集群安装部署linux_ruby_19

set中删除元素

linux 中redis集群配置 redis集群安装部署linux_ruby_20

 

zset中添加(数字指定顺序)

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_21

查看zset

linux 中redis集群配置 redis集群安装部署linux_redis_22

zset删除

linux 中redis集群配置 redis集群安装部署linux_操作系统_23

 设置key的过期时间

linux 中redis集群配置 redis集群安装部署linux_redis_24

持久化key

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_25

查看key的有效期

 

linux 中redis集群配置 redis集群安装部署linux_ruby_26

 

redis的持久化

redis的所有数据都是保存到内存中

rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘,redis默认的持久化方案

aof:append only file.把所有对redis数据库操作的命令,增删改操作的命令,保存到文件中.数据恢复时把所有命令执行一遍即可.

 

下面介绍一下redis.conf配置文件中的内容

redis的默认端口

linux 中redis集群配置 redis集群安装部署linux_redis_27

默认保存数据的方案

linux 中redis集群配置 redis集群安装部署linux_redis_28

快照文件(备份数据只需备份这个文件,恢复再拷贝回来,重新启动redis即可)

linux 中redis集群配置 redis集群安装部署linux_操作系统_29

开启aof

linux 中redis集群配置 redis集群安装部署linux_ruby_30

开启了之后再bin下回生成一个文件

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_31

 

 

 

redis的集群搭建

架构图

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_32

 

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value

Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

 

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_33

redis集群中至少应该有三个节点,要保证集群的高可用,需要每个节点有一个备份机

*在/usr/local下创建redis-cluster目录

linux 中redis集群配置 redis集群安装部署linux_数据库_34

*在拷贝之前要删除redis的bin目录下的文件

linux 中redis集群配置 redis集群安装部署linux_数据库_35

拷贝六份

linux 中redis集群配置 redis集群安装部署linux_ruby_36

linux 中redis集群配置 redis集群安装部署linux_数据库_37

 

通过修改redis.conf文件修改端口号

linux 中redis集群配置 redis集群安装部署linux_redis_38

 *打开每个redis的集群

linux 中redis集群配置 redis集群安装部署linux_ruby_39

*创建启动所有redis的命令

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_40

linux 中redis集群配置 redis集群安装部署linux_ruby_41

*修改这个命令的权限

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_42

*开启所有redis

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_43

*使用ruby脚本搭建集群,需要ruby的运行环境

linux 中redis集群配置 redis集群安装部署linux_redis_44

*上传ruby的包到linux

linux 中redis集群配置 redis集群安装部署linux_数据库_45

*执行gem命令

linux 中redis集群配置 redis集群安装部署linux_数据库_46

*在原版的redis-3.0.0下有一个redis-trib.rb文件

linux 中redis集群配置 redis集群安装部署linux_linux 中redis集群配置_47

*复制到刚才建立的集群目录下

linux 中redis集群配置 redis集群安装部署linux_ruby_48

linux 中redis集群配置 redis集群安装部署linux_数据库_49

*搭建集群的命令



./redis-trib.rb create --replicas 1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005  192.168.25.153:7006



linux 中redis集群配置 redis集群安装部署linux_操作系统_50

linux 中redis集群配置 redis集群安装部署linux_操作系统_51

代表集群创建成功