redis操作命令 点击打开链接 -常用数据类型:String、Hash、List(耗费性能)、Set、SortedSet(非常耗费性能)
单机版
1、在linux中安装gcc 命令符: yum install -y gcc-c++
2、将redis-3.0.tar.gz包放到指定路径并解压,命令符:tar -zxvf redis-3.0.tar.gz
2.1 然后进入解压好的redis包中直接命令符:make (编译redis)
2.2 指定安装路径 命令符 :make install PREFIX=/usr/local/redis ;安装完成后redis文件中只有一个bin目录
3、启动-默认端口6379-设置为后端启动
3.1 找到解压好的redis包中的conf配置文件-redis.conf 文件,复制一份到安装redis中bin目录中
3.1.1命令: cp redis.conf /usr/local/redis/bin/
3.2 修改配置文件- vim redis.conf;修改值 daemonize yes -------------------------------------------
4、启动redis 命令符:./redis-server redis.conf
5、查看是否启动成功---------------------------
退出客户端 命令符:quit
Redis集群搭建
1、架构细节
(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会根据节点
数量大致均等的将哈希槽映射到不同的节点
2、 redis-cluster投票:容错 ---------------------------------
(2):什么时候整个集群不可用(cluster_state:fail)?
a:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映 射[0-16383]不完成时进入fail状态.
ps : redis-3.0.0.rc1加入cluster-require-full-coverage参数,默认关闭,打开集群兼容部分失败.
b:如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态.
ps:当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误
3、搭建集群的概念
集群中要有三个节点的集群,每个节点要有一主一备,共需要搭建最少六个redis。
使用伪分布式结构,用6个redis节点模拟。
(1)搭建集群需要使用ruby脚本语言
(2)安装ruby-
yum install ruby
yum install rubygems
(3)安装ruby和redis接口将下载好的redis-3.0.0.gem(根据当前redis版本来下载)文件上传至linux中使用命令符:gem install redis-3.0.0.gem
(1)将已经安装好的单机版redis的bin目录复制六份到redis-cluster文件夹中,文件名为redis01,02........06
先复制一份,修改好后在复制五份 --------------------
(2)将复制的redis们全部修改端口号 --端口号(7001-7006)
删除快照文件-dump.rdb文件
修改端口---------------------------------
修改cluster-enable ---------------------------
(3)复制其他的五份redis实例 ------------------
(6)启动全部redis实例-创建脚本启动,方便操作
创建redis-all-start.sh
cd redis01 ./redis-server redis.conf cd .. cd redis02 ./redis-server redis.conf cd .. cd redis03 ./redis-server redis.conf cd .. cd redis04 ./redis-server redis.conf cd .. cd redis05 ./redis-server redis.conf cd .. cd redis06 ./redis-server redis.conf cd .. |
--------------------------------------------
设置而权限
命令符:chmod +x redis-all-start.sh
============================================
创建redis实例全部关闭sh
redis-all-shutdown.sh
redis01/redis-cli -c -h 192.168.255.129 -p 7001 shutdown redis01/redis-cli -c -h 192.168.255.129 -p 7002 shutdown redis01/redis-cli -c -h 192.168.255.129 -p 7003 shutdown redis01/redis-cli -c -h 192.168.255.129 -p 7004 shutdown redis01/redis-cli -c -h 192.168.255.129 -p 7005 shutdown redis01/redis-cli -c -h 192.168.255.129 -p 7006 shutdown |
chmod +x redis-all-shutdown.sh
(7)启动文件-查看是否成功--命令符:ps aux|grep redis
(8)启动集群-
输入命令符:
. /redis-trib.rb create --replicas 1 192.168.255.129:7001 192.168.255.129:7002 192.168.255.129:7003 192.168.255.129:7004 192.168.255.129:7005 192.168.255.129:7006
(9)测试集群
输入命令符:redis01/redis-cli -h 192.168.255.129 -p 7001 -c (需要输入连接的ip和任意端口号,末尾加-c表示连接集群)
(10)集群创建成功!!!!!!