1.什么是Redis
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:字符串类型, 散列类型, 列表类型, 集合类型, 有序集合类型。
2.Redis 安装
redis 是C 语言开发, 安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++
注: redis3.0 版本 增加 redis 集群功能。
下载地址:
1) 我这里先将下载好的包上传到服务器 /usr/local/src/redis 下
2) 解压 tar -zxvf redis-3.0.0.tar.gz (z: 标识解压格式,x:解压缩,v:显示解压进度,f:解压文件)
3) 进入解压后的目录进行编译
cd /redis-3.0.0
make
4) 安装到指定目录 我这里安装到/usr/local/redis
make PREFIX=/usr/local/redis insatll 注意大写
5) 复制配置文件到安装目录,
redis编译后会有一个默认的配置文件, 安装目录中没有, 我们如果做配置需要把redis默认的配置文件拷贝到redis的安装目录下
cp /usr/local/src/redis/redis-3.0.0/redis.conf /usr/local/redis/bin
3.Redis启动
1) 前端模式启动
在安装目录bin下, 直接运行 ./redis-server 将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束
这里我们可以看到redis默认端口为 6379, 此时在命令行下面的光标会一直闪烁, 如果此时按下CTRL+C 会关闭服务
2) 后端模式启动
需要将复制过来的redis配置文件 redis.conf 做修改
[root@localhost bin]# vi redis.conf 在 37行 daemonize 改为 yes 以后端模式启动(输入i 进入编辑模式, 修改好以后按一下ESC,输入":wq" 保存并退出)
[root@localhost bin]# ./redis-server redis.conf
这里可以看到redis 启动了, 下面咱们测试一下,
[root@localhost bin]# ./redis-cli 执行命令 进入redis 命令号客户端
输入ping
标识我们的服务启动成功没有问题。
4. 集群搭建
1) 说明
1> 集群中每个redis服务作为一个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 会根据节点数量大致均等的将哈希槽映射到不同的节点
2) 配置redis集群需要一个ruby 环境