Redis 非关系性数据库集群的搭建与常用方法
redis 非关系型数据库,内存型数据库,现在大家都不陌生了,无论大中小型企业,都会将redis应用到自己的项目中,以此来减轻数据库的压力
安装步骤:
1.安装gcc
安装c语言的编译环境
yum install gcc-c++
2.解压缩并且编译
wget http://download.redis.io/releases/redis-3.2.6.tar.gz
tar -zxvf redis-3.2.6 //进入解压缩后的目录执行 make // 将编译后的文件放入/usr/local/redis 下,自己定义
make install PREFIX=/usr/local/redis
3.进行redis 后端启动,使用redis-conf 配置文件
//进入解压缩redis 目录将redis.conf 配置文件 copy 到 make install 后的目录
cp redis.conf /usr/local/redis/bin
//编辑 redis.conf
vim redis.conf
修改内容 :将no 改为 yes ,意思就是可以后台启动,不占用前台的端口
4.启动 redis
./redis-server redis.conf
5.检查是否启动成功
ps aux|grep redis
6,使用客户端连接
./redis-cli //连接其他客户端的redis ./redis-cli -h 192.168.241.129 -p 6379
ok ,单台的redis 我们已经配置好了,那么在企业中,redis 集群改怎么搭建呢?
-------redis 集群搭建,至少需要3个redis 主节点,我们这里搭建伪分布式-------
1.创建一个集群的文件夹,用于存放我们集群的reids bin文件
//创建集群的文件夹,用来存放我们的redis 集群 mkdir redisCluster //将 make install 后的redis 文件复制到redisCluster 中先复制一份 cp -r /usr/local/redis/bin /user/local/redisCluster/redis01 //修改其IP 端口号(不重复),以及打开cluster-enabled,如下图
修改端口
将集群模式打开,将cluster-enabled 的注释去掉
2,然后复制5份就行我们修改每一份的端口就可以了
cp -r redis01/ redis02
3.启动这六个redis 节点
4.开始安装集群: 需要ruby脚本的运行环境以及redis.gem,直接将红色部分复制运行就好
//需要安装ruby 脚本编译
yum install ruby yum install rubygems //手工下载redis.gem
wget --no-check-certificate https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem
//编译
gem install -l ./redis-3.2.1.gem
5.找到redis 解压目录下的src目录 redis-trib.rb 文件
//复制到我们的redis集群中
cp redis-trib.rb /usr/local/redisCluster/
6.运行 redis-trib.rb 脚本:红的部分需要修改为自己设置的6个节点的ip与端口
./redis-trib.rb create --replicas 1 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 127.0.0.1:9006
7.集群客户端测试-->连接必须带 -c
//必须指明端口和 -c
redis01/redis-cli -p 9002 -c
java jedis 测试连接单机版与集群版reids 测试方法
/**
* 单机版测试
*/
@Test
public void jedisSign() { JedisPool jedisPool =new JedisPool("127.0.0.1",6379); //从连接池中获取连接
Jedis jedis=jedisPool.getResource(); System.out.print(jedis.ping()); jedis.set("bba", "sss");
jedis.close(); } /**
* 连接集群版redis测试
* @throws IOException
*/
@Test
public void jedisCluster() throws IOException { //jedisCluster连接集群 //所有的集群节点都放在了HostAndPort 对象中
Set<HostAndPort> pool =new HashSet<>();
pool.add(new HostAndPort("192.168.241.129",9001) );
pool.add(new HostAndPort("192.168.241.129",9002) );
pool.add(new HostAndPort("192.168.241.129",9003) );
pool.add(new HostAndPort("192.168.241.129",9004) );
pool.add(new HostAndPort("192.168.241.129",9005) );
pool.add(new HostAndPort("192.168.241.129",9006) ); JedisCluster jedisCluster =new JedisCluster(pool); jedisCluster.set("testcluster", "jediscluster"); System.out.println(jedisCluster.get("testcluster"));
jedisCluster.close(); }
Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。有意思的是redis的string包含所有二进制数据,包括图片等。String一个键最大存储512MB 数据
数据类型 | 获取 | 设置 |
String | Get | Set |
Hash | Hgetall | Hmset |
List | Lrange | Lpush |
Set | Smembers | Sadd |
zset | Zrangebyscore | Zadd |
常用的就是String 与Hash 这两种数据类型
Redis 非关系性数据库集群的搭建与常用方法的更多相关文章
- Redis非关系型缓存数据库集群部署、参数、命令工具
<关系型数据库与非关系型数据库> 关系数据库:mysql.oracle.DB2.SQL Server非关系数据库:Redis(缓存数据库).MongodDB(处理海量数据).Memcach ...
- Redis Cluster 4.0.9 集群安装搭建
Redis Cluster 4.0.9集群搭建步骤:yum install -y gcc g++ gcc-c++ make openssl cd redis-4.0.9 make mkdir -p / ...
- Redis 3主-3从集群的搭建(CentOS 7)
注意ip地址为: 虚拟机ip设置 TYPE="Ethernet"BOOTPROTO="static"NAME="enp0s3"DEVICE= ...
- reids非关系性数据库
1.Redis环境配置 下载安装地址: https://github.com/MicrosoftArchive/redis/releases 解压文件到指定的目录,D:\ChromeCoreDown ...
- 深入学习Redis(5):集群
前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化.主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡. Redis集群解决了上述问 ...
- redis主从架构,分片集群详解
写在前面:这篇笔记有点长,如果你认真看完,收获会不少,如果你只是忘记了相关命令,请翻到末尾. redis的简单介绍: 一个提供多种数据类类型储存,整个系统都在内存中运行的, 定期通过异步的方式把数据刷 ...
- Redis 5.0.7 讲解,单机、集群模式搭建
Redis 5.0.7 讲解,单机.集群模式搭建 一.Redis 介绍 不管你是从事 Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业 ...
- Redis之高可用、集群、云平台搭建
原文:Redis之高可用.集群.云平台搭建 文章大纲 一.基础知识学习二.Redis常见的几种架构及优缺点总结三.Redis之Redis Sentinel(哨兵)实战四.Redis之Redis Clu ...
- 数据库集群 MySQL主从复制
MySQL主从复制 本节内容我们联系使用MySQL的主从复制功能配置Master和Slave节点,验证数据MySQL的数据同步功能. 因为要使用多个MySQL数据库,所以不建议在电脑上安装多个MySQ ...
随机推荐
- mybatisGenerator自动生成pojo、dao、xml文件
一.简介: mybatisGenerator是一款自动生成文件工具.本文使用idea2017.3.1来进行操作. 二.文件生成之后的项目结构: 三.开始生成步骤: 1.使用idea生成maven的结构 ...
- echarts图表--统计图表
echarts官网图表API:http://echarts.baidu.com/index.html
- open read split
open 来打开文件, 其具体表现为 open('文件名或路径', 'r or w or other', 位置?) 其生成一个文件类型的对象 file object. 可写做 FILENAME = ...
- Cannot detect Web Project version. Please specify version of Web Project through Maven project property <webVersion>. E.g.: <properties> <webVersion>3.0</webVersion> </properties>
鼠标放在问题出会出现set web project version to 3.0和set web project version to 3.1两个选项 随便选一个版本就好了
- Hibernate Validator实践之一 入门篇
在后台的业务逻辑中,对数据值的校验在各层都存在(展示层,业务层,数据访问层等),并且各层校验的规则又不尽相同,如下图所示 注:该图片来自于Hibernate Validator官网 在各层中重复的校验 ...
- python 获取命令行参数
https://www.cnblogs.com/captain_jack/archive/2011/01/11/1933366.html zzz.py import sys from optparse ...
- ArcGIS案例学习笔记4_2_水文分析批处理地理建模
ArcGIS案例学习笔记4_2_水文分析批处理地理建模 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 概述 计划时间:第4天下午 目的:自动化,批量化,批处理,提 ...
- C++ 简单实现MFC ListControl 点击列头排序
说明: SetItemData可以为每一行绑定一个DWORD类型的变量.用GetItemData可以获得这个变量.举个例子,假设CListCtrl中你需要显示某个数据表中的记录,该表有个流水号主键ID ...
- SQL调用C# dll(第一中DLL,没使用强名称密匙,默认是 safe)
https://msdn.microsoft.com/zh-cn/library/ms345106(es-es).aspx 1.新建项目名称SQLDllTest,类代码如下,没有用Using引用其他类 ...
- zabbix 邮件报警 监控mysql主从
1)设置邮件模板及邮件服务器 邮箱密码记得写授权密码 2)配置接受报警的邮箱 3)添加报警触发器 配置邮箱服务器 yum -y install mailx yum -y install sendmai ...