Redis单机到集群
Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。并提供多种语言的API。
本质是客户端-服务端的应用程序软件
特点是使用简单、性能强悍、功能应用场景丰富。
1.Redis单机安装和使用
1.1Redis安装
在Linux上安装,环境是centos7
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar -zxvf redis-5.0.3.tar.gz
cd redis-5.0.3
make
# 安装到 /usr/local/redis 目录中 安装的文件只有一个bin目录
make install PREFIX=/usr/local/redis/
# 创建配置文件和data存放目录
mkdir /usr/local/redis/conf /usr/local/redis/data
安装完之后就可以启动了
默认启动/usr/local/redis/bin/redis-server
默认端口是6379
1.2Redis使用
使用命令行工具redis-cli
/usr/local/redis/bin/redis-cli
简单使用set/get命令测试
redis> set foo bar
OK
redis> get foo
"bar"
Redis其他指令、功能使用本篇不细说,Redis官网上都有说明,读者看官网就能使用
2.Redis集群
在数据量非常大的情况下,Redis和哨兵机制虽然保证了Redis高可用,但是Redis内存需求超过机器的最大内存,单实例Redis支持不了,这个时候需要用到Redis分片存储技术。Redis集群也保证了高可用,所以哨兵我们可以不用考虑,本篇也不细说。我就说说如何构建集群。
2.1 集群准备工作
为保证集群高可用性,至少需要6个Redis服务,3对主从。由于机器限制,我就用一台机器模拟一个集群,Redis启动的端口设6个不同的值。如果有条件可以拿6台机器做,其实不论多少机器部署的过程都是一样的,只不过是不同机器启动Redis服务。
2.1.1创建存放配置信息和数据的目录
# 创建配置文件和data存放目录
mkdir /usr/local/redis/conf /usr/local/redis/data
2.1.2准备好6个Redis的配置文件,以端口号来命名,便以区分。
# 配置文件进行了精简,完整配置可自行和官方提供的完整conf文件进行对照。端口号自行对应修改
#后台启动的意思
daemonize yes
#端口号
port 6381
# IP绑定,redis不建议对公网开放,直接绑定0.0.0.0没毛病
bind 0.0.0.0
# redis数据文件存放的目录
dir /usr/local/redis/data
# 开启AOF
appendonly yes
# 开启集群
cluster-enabled yes
# 会自动生成在上面配置的dir目录下
cluster-config-file nodes-6381.conf
cluster-node-timeout 5000
# 这个文件会自动生成
pidfile /var/run/redis_6381.pid
2.1.3启动6个Redis实例
# 一定要注意每个配置文件中的端口号
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6381.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6382.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6383.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6384.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6385.conf
/usr/local/redis/bin/redis-server /usr/local/redis/conf/6386.conf
2.2构建集群
有来6个Redis实例,就可以创建集群,我们用命令行来创建
/usr/local/redis/bin/redis-cli --cluster create 127.0.0.1:6381 127.0.0.1:6382 \
127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386 \
--cluster-replicas 1
至此集群构建成功
2.2.1集群检验
集群创建好了,我们需要检测一下集群是否按照我们的预设创建的
使用redis-cli 进入进群的任意节点查看
/usr/local/redis/bin/redis-cli -c -h 127.0.0.1 -p 6381
进入节点之后,cluster nodes命令就可以展示集群
127.0.0.1:6381>cluster nodes
当有6个Redis信息展示的时候就说明集群构建成功了。可以欢快的去使用集群了。