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 非关系性数据库集群的搭建与常用方法的更多相关文章

  1. Redis非关系型缓存数据库集群部署、参数、命令工具

    <关系型数据库与非关系型数据库> 关系数据库:mysql.oracle.DB2.SQL Server非关系数据库:Redis(缓存数据库).MongodDB(处理海量数据).Memcach ...

  2. 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 / ...

  3. Redis 3主-3从集群的搭建(CentOS 7)

    注意ip地址为: 虚拟机ip设置 TYPE="Ethernet"BOOTPROTO="static"NAME="enp0s3"DEVICE= ...

  4. reids非关系性数据库

     1.Redis环境配置 下载安装地址: https://github.com/MicrosoftArchive/redis/releases 解压文件到指定的目录,D:\ChromeCoreDown ...

  5. 深入学习Redis(5):集群

    前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化.主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡. Redis集群解决了上述问 ...

  6. redis主从架构,分片集群详解

    写在前面:这篇笔记有点长,如果你认真看完,收获会不少,如果你只是忘记了相关命令,请翻到末尾. redis的简单介绍: 一个提供多种数据类类型储存,整个系统都在内存中运行的, 定期通过异步的方式把数据刷 ...

  7. Redis 5.0.7 讲解,单机、集群模式搭建

    Redis 5.0.7 讲解,单机.集群模式搭建 一.Redis 介绍 不管你是从事 Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业 ...

  8. Redis之高可用、集群、云平台搭建

    原文:Redis之高可用.集群.云平台搭建 文章大纲 一.基础知识学习二.Redis常见的几种架构及优缺点总结三.Redis之Redis Sentinel(哨兵)实战四.Redis之Redis Clu ...

  9. 数据库集群 MySQL主从复制

    MySQL主从复制 本节内容我们联系使用MySQL的主从复制功能配置Master和Slave节点,验证数据MySQL的数据同步功能. 因为要使用多个MySQL数据库,所以不建议在电脑上安装多个MySQ ...

随机推荐

  1. C# 利用反射调用类下的方法

    namespace TestReflection { public partial class Form1 : Form { public Form1() { InitializeComponent( ...

  2. ReactiveX 学习笔记(3)转换数据流

    Transforming Observables 本文的主题为转换 Observable 的操作符. 这里的 Observable 实质上是可观察的数据流. RxJava操作符(二)Transform ...

  3. csredis base usage

    Basic usage Whenever possible, server responses are mapped to the appropriate CLR type. using (var r ...

  4. 转:jquery操作元素的css样式(获取、修改等等)

    //1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...

  5. 将 DNSCrypt 部署到 Openwrt 路由器上+ DNSmasq 解析国内域名用本地 DNS[ZT+实践]

    原文地址: 1.https://typcn.com/legacy/blog/posts/openwrt-dnscypt.html 2.http://www.openwrt.pro/post-376.h ...

  6. 关于PHP Notice: A non well formed numeric value encountered, 你知道多少

    ---------------------------------------------------------------------------------------------- A non ...

  7. 【原创】利用Office宏实现powershell payload远控

    本文将演示使用Veil-Evasion生成远控所需要的payload以及监听器,然后使用MacroShop生成payload 相关的VBA代码,最后演示将VBA代码写入.doc文本文档的宏中. 环境: ...

  8. 全局异常 同时ajax或是web跳转

    F8功能强大  在java代码debug的时候,F8键可直接跳到下一个类中.免去下一步 只用把之前两种方式合并即可,就是在exception包中不要ajax的异常,将其放入到web异常中,用if    ...

  9. Nmap结果文件XML文件解析

    对nmap扫描结果xml格式的文件进行解析,无需直接xml解析或读取,可直接使用模块: 1.nmapparser 安装:pip install nmapparser Demo: #!/usr/bin/ ...

  10. win10 搭建react-native开发环境

    本文地址:http://www.cnblogs.com/jying/p/7992130.html 系统:win10 系统内存:8G java-jdk:1.8.144 开发工具:vs code 首先是网 ...