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 ...
随机推荐
- CSS VISUAL RULES
CSS VISUAL RULES Review Visual Rules Incredible work! You used CSS to alter text and images througho ...
- CSRF学习小结
什么是CSRF CSRF,全称是Cross Site Request Forgery,也即跨站请求伪造.对于CSRF来说,它的请求有两个关键点:跨站点的请求和请求是伪造的. 跨站点的请求的来源是其他站 ...
- unity 获取网络时间
http://cgi.im.qq.com/cgi-bin/cgi_svrtime public int year, mouth, day, hour, min, sec; public string ...
- Android app 性能优化的思考--性能卡顿不好的原因在哪?
说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...
- 深入jUI(DWZ)
-----------------------------------------------------------------------------主页面index.html <html& ...
- Delphi动态配置ODBC数据源--SQL Server版本
(摘自)http://jxlearnew.blog.163.com/blog/static/549786592007102451431413/ 这里介绍一种用Delphi来实现动态注册的方法,希望对各 ...
- 9.mysql-存储过程.md
目录 创建 创建 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN -- 开始 ...
- 扩展C#与元编程
扩展C#与元编程 https://www.cnblogs.com/knat/p/4580393.html https://www.cnblogs.com/knat/p/4584023.html 扩展C ...
- 推荐几个Adobe Flex Builder 3的插件(代码格式化和fms服务器通讯文件(main.asc)编写)
1.Fms plugins 编写FMS服务器端脚本时,最头疼的莫过于AS1的语法了.习惯了AS2.3后,在没有代码提示的环境下,写代码确实是件很头疼的事,这个插件就可以发挥作用了. Flash Med ...
- 利用原生态的(System.Web.Extensions)JavaScriptSerializer将mvc 前台提交到controller序列化复杂对象
主要代码如下: public JsonResult Test() { string s = Request.Form.ToString(); JavaScriptSerializer jss = ne ...