设为首页 加入收藏

TOP

Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置(一)
2019-09-17 16:47:30 】 浏览:61
Tags:Springboot 2.0.x 集成 基于 Centos7 Redis 集群 安装 配置

Redis简介

Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库、缓存和消息代理。它支持数据结构,如 字符串、散列、列表、集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区。

可以对这些数据类型进行原子性操作,例如 附加到字符串;递增哈希值;将元素推送到列表中;计算集合交集,并集和差异;或则在排序中获得排名最高的成员。为了实现其出色的性能,Redis使用内存数据集。根据您的配置情况,可以通过 每隔一段时间将数据集转存储到磁盘或通过每个命令附加到日志文件来保存它。如果您只需要功能丰富的网络内存缓存,则可以选择禁用持久性。

Redis还支持简单到设置的主从异步复制,具有非常快速的非阻塞第一次同步,自动重新连接以及在网络分割上的部分重新同步。

核心对象

RedisObject,图片来源:一文读懂redis

Redis五种数据结构对应的编码,图片来源:对象处理机制

五种数据结构类型,图片来源:初识Redis

1. Redis中的字符串

 Redis的STRING和其他编程语言或则其他键值存储提供的字符串非常的相似。本文在使用图片表示键值的时候,通常会将键名(key name)和值的类型放在方框的顶部,将值放在方框的里面。

STRING拥有一些和其他键值存储相似的命令,比如GET(获得值)、SET(设置值)和DEL(删除值)。

2. Redis中的列表

Redis对链表(linked-list)结构的支持使得它在键值存储的世界中独树一帜。一个列表结构可以有序的存储多个字符串,和表示字符串时使用的方法一样。

list-key是一个包含三个元素的列表键,注意列表中的元素时可以重复的。

Redis列表可执行的操作和很多编程语言李米娜的列表操作非常的相似:LPUSH命令和RPUSH命令分别用户将元素推送至列表的左端(left end)和右端(right end);LPOP命令和RPOP命令分别用于从列表的左端和右端弹出元素;LINDEX命令用于获取列表在给定位置上的一个元素;LRANGE命令用于获取列表在给定范围上的所有元素。

3. Redis中的集合

Redis的集合和列表都可以存储多个字符串,它们之间的不同在于,列表可以存储多个相同的字符串,而集合则通过使用散列表来保证自己存储的每个字符都是各个相同的(这些散列表只有键,但没有与键相关联的值)。

因为Redis的集合使用无序(unordered)方式存储元素,所以用户不能像使用列表那样,将元素推入到集合的某一端,或者从结合的某一端弹出元素。不过用户可以使用SADD命令将元素添加到集合,或者使用SREM命令从集合里面移除元素。另外,还使用SISMEMBER命令快速地检查一个元素是否已经存在于集合中,或者使用SMEMBERS命令获取集合包含的所有元素(如果集合包含的元素非常多,那么SMEMBERS命令的执行速度可能会很慢,所以请谨慎地使用这个命令)。

4. Redis中的散列

Redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以时字符串又可以时数字值,并且用户同样可以对散列存储的数字值执行自增操作或自减操作。

hash-key是一个包含两个键值对的散列键。

散列在很多方面就像是一个微缩版的Redis,好几个字符串命令都有相应的散列版本。其操作命令:HSET 在散列里面关联起给定的键值对;HGET 获取指定散列键的值;HGETALL 获取散列包含的所有键值对;HDEL 如果给定键存在于散列里面,那么移除这个键。

5. Redis中的有序集合

Redis有序集合和散列一样,都用于存储键值对,其中有序集合的每个键称为成员(member),都是独一无二的,而有序集合的每个值称为分值(score),都必须是浮点数。有序集合是Redis里面唯一既可以根据成员访问元素(这一点和散列一样),又可以根据分值以及分值的排列顺序来访问元素的结构。

zset-key是一个包含两个元素的有序集合键。

和Redis的其他结构一样,用户可以对有序集合执行添加、移除和获取等操作。

Redis集群安装及配置

服务器及节点:

192.168.56.101 7000、1001、7002;

192.168.56.102 7003、7004、7005

1. 安装GCC编译工具,不然可能会编译的过程中出现编译失败情况

yum install gcc g++ gcc-c++ make

2. 下载并安装Redis 官网下载

 

cd /opt
如果未找到wget命令:yum -y install wget
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
tar xzf redis-4.0.10.tar.gz
cd redis-4.0.10
make

 

3. 如果因为编译失败,又残留的文件

make distclean

4. 创建节点

步骤 1:

首先在 192.168.56.101机器上 /opt/redis-4.0.10目录下建 redis-cluster 目录

mkdir /opt/redis-4.0.10/redis-cluster

步骤 2:

 redis-cluster 目录下,创建名为7000、7001、7002的目录

 

mkdir 7000 7001 7002

 

步骤 3:

分别修改这三个配置文件,把如下redis.conf 配置内容粘贴进去

vi 7000/redis.conf 
vi 7001/redis.conf
vi 7002/redis.conf

redis.conf 示例:

port 7000
bind 192.168.56.101
daemonize yes
pidfile /var/run/redis_7000.pid
logfile /var/log/redis/redis_7000.log
cluster-enabled yes
cluster-config-file nodes_7000.conf
cluster-node-timeout 10100
dbfilename dump_7000.rdb
appendonly yes
appendfilename "appendonly_7000.aof"

说明:

#端口7000,7001,7002
port 7000
#默认ip为127.0.0.1,需要改为其他节点机器可访问的ip,否则创建集群时无法访问对应的端口,无法创建集群
bind 192.168.56.101
#redis后台运行
daemonize yes
#pidfile文件对应7000,7001,7002
pidfile /var/run/redis_7000.pid
#开启集群,把注释#去掉
cluster-enabled yes
#集群的配置,配置文件首次启动
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇spring与mybatis整合 下一篇一个请求过来都经过了什么?(Thrif..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目