linux下安装redis以及redis集群
解压-linux下安装redis
Redis是c语言开发的
安装redis需要c语言的编译环境。如果没有gcc需要在线安装。
*在linux下输入安装gcc
*解压redis
*进入解压后的redis目录编译
*编译完成后在当前目录安装
PREFIX代表安装到指定目录
*进入安装目录下的bin目录
这就代表安装成功了
*前端启动
在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
代表集群创建成功