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. CSS VISUAL RULES

    CSS VISUAL RULES Review Visual Rules Incredible work! You used CSS to alter text and images througho ...

  2. CSRF学习小结

    什么是CSRF CSRF,全称是Cross Site Request Forgery,也即跨站请求伪造.对于CSRF来说,它的请求有两个关键点:跨站点的请求和请求是伪造的. 跨站点的请求的来源是其他站 ...

  3. unity 获取网络时间

    http://cgi.im.qq.com/cgi-bin/cgi_svrtime public int year, mouth, day, hour, min, sec; public string ...

  4. Android app 性能优化的思考--性能卡顿不好的原因在哪?

    说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...

  5. 深入jUI(DWZ)

    -----------------------------------------------------------------------------主页面index.html <html& ...

  6. Delphi动态配置ODBC数据源--SQL Server版本

    (摘自)http://jxlearnew.blog.163.com/blog/static/549786592007102451431413/ 这里介绍一种用Delphi来实现动态注册的方法,希望对各 ...

  7. 9.mysql-存储过程.md

    目录 创建 创建 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN -- 开始 ...

  8. 扩展C#与元编程

    扩展C#与元编程 https://www.cnblogs.com/knat/p/4580393.html https://www.cnblogs.com/knat/p/4584023.html 扩展C ...

  9. 推荐几个Adobe Flex Builder 3的插件(代码格式化和fms服务器通讯文件(main.asc)编写)

    1.Fms plugins 编写FMS服务器端脚本时,最头疼的莫过于AS1的语法了.习惯了AS2.3后,在没有代码提示的环境下,写代码确实是件很头疼的事,这个插件就可以发挥作用了. Flash Med ...

  10. 利用原生态的(System.Web.Extensions)JavaScriptSerializer将mvc 前台提交到controller序列化复杂对象

    主要代码如下: public JsonResult Test() { string s = Request.Form.ToString(); JavaScriptSerializer jss = ne ...