Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。
一、Redis的单机版
1.1 安装步骤
- 安装gcc编译环境
sudo apt-get install gcc
- 把redis上传到服务器
可以使用SecureCRT上传 - 解压缩
tar -zxvf redis-3.2.0.tar.gz
- make
cd redis-3.2.0
make
- 安装
make install PREFIX=/home/muxiaocao/redis-3.2.0
这时候在redis根目录下就会出现一个bin文件夹,里面就是编译好的一些可执行文件
1.2 启动redis
两种启动方式:前端启动
`./redis-server`后台启动
- 复制redis.conf到redis的bin目录下
cd /home/muxiaocao/redis-3.2.0
cp redis.conf bin
- 修改bin目录下的redis.conf中的daemonize yes和bing
vim redis.conf
bind 192.168.3.111
注意:这里的bind是需要绑定自己的ip而不是访问这的ip。
bind localhost 只能本机访问,局域网内计算机不能访问
bind 局域网IP 只能局域网内IP的机器访问, 本地localhost都无法访问. - 启动:
./redis-server redis.conf
./redis-server redis.conf
- 查看进程:
ps aux|grep redis
1.3 命令行客户端
`redis-cli -p 端口 -h ip地址 链接集群时使用此参数`默认端口是6379,ip默认是localhost
1.4 Redis Desktop Manager客户端
Redis Desktop Manager是redis的图像界面
二、Redis集群
2.1 架构
 **架构细节:**- 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
- 节点的fail是通过集群中超过半数的节点检测失效时才生效.
- 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
- redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点
2.2 集群搭建
集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。
所以搭建伪分布式,需要6个redis实例。
步骤1:
第一步:创建6个redis实例指定端口从7001到7006
![]()
第二步:修改redis.conf 打开Cluster-enable yes前面的注释。
![]()
![]()
第三步:需要一个ruby脚本。在redis源码文件夹下的src目录下。redis-trib.rb第四步:把redis-trib.rb文件复制到到redis-cluster目录下。
第五步:执行ruby脚本之前,需要安装ruby环境:
1. sudo apt-get install ruby 2.2.2
查看ruby版本:ruby -version
如果小于2.2.2,则需要手动下载较高版本步骤如下:
1. wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz
2. tar -xvf ruby-2.2.2.tar.gz
3. ./configure --prefix=/home/muxiaocao/redis/ruby-2.2.2
4. make && make install
5. gem install redis
2. sudo apt-get install gems
3. gem install rubygems-updat