linux下安装redis以及redis集群

解压-linux下安装redis前端

Redis是c语言开发的node

安装redis须要c语言的编译环境。若是没有gcc须要在线安装。linux

*在linux下输入安装gccredis

*解压redis算法

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

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

PREFIX表明安装到指定目录ruby

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

这就表明安装成功了app

 

*前端启动

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

看到这个就表明启动成功了,可是启动了以后不能进行其它操做了

 

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

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

而后修改配置文件的内容

而后在启动命令后加上redis.conf就能够后台启动了

查看进程后发现已经启动

 

 

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

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

incl:表明加一(生成ID)

Decr:表明减一

hash能够对key进行归类

hash保存

hash获取

 

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

查看list中的全部内容

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

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

list弹出右边第一个数据

 

向set中添加数据

查看set中的数据

set中删除元素

 

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

查看zset

zset删除

 设置key的过时时间

持久化key

查看key的有效期

 

 

redis的持久化

redis的全部数据都是保存到内存中

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

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

 

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

redis的默认端口

默认保存数据的方案

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

开启aof

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

 

 

 

redis的集群搭建

架构图

 

(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 会根据节点数量大体均等的将哈希槽映射到不一样的节点

 

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

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

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

拷贝六份

 

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

 *打开每一个redis的集群

*建立启动全部redis的命令

*修改这个命令的权限

*开启全部redis

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

*上传ruby的包到linux

*执行gem命令

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

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

*搭建集群的命令

./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

表明集群建立成功