redis 一二事 - 搭建集群缓存服务器

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 在如今并发的环境下,对大数据量的查询采用缓存是最好不过的了,本文使用redis搭建集群 (个人喜欢redis,对memcache不感冒) redis是3.0后增加的集群功能,非常强大 集群中应该至少有三个节点,每个节点有一备份节点。

在如今并发的环境下,对大数据量的查询采用缓存是最好不过的了,本文使用redis搭建集群

(个人喜欢redis,对memcache不感冒)

redis是3.0后增加的集群功能,非常强大

集群中应该至少有三个节点,每个节点有一备份节点。这样算下来至少需要6台服务器

考虑到有些朋友的电脑配置不是很高,跑多个虚拟机就会卡,这边放出伪分布式和分布式

(2年前的配置)

前提先装好一个单例情况下的redis(这里就不多说了)

需要6redis实例

 

搭建集群的步骤:

 

在/usr/local下 创建文件夹
 
这个我是把原来的单例redis改了个名字做的
 
 
进入redis01/bin
删除dump文件
 
修改端口
 
打开注释
 
复制多份
(真实环境下只需要一个就行,然后其余5台机子重复以上操作)
指定端口从 7001 7006
 
这是真实环境下的
占用率
 
 
redis 源码文件夹下的 src 目录下。 redis-trib.rb,这个ruby脚本
 
 
第四步:把 redis-trib.rb 文件复制到到 redis-cluster 目录下。
(真实环境下,只需要放在你某个节点机子上就行,他会自动遍历到其他的节点上的,我做的时候放在了01上)
 
执行ruby脚本之前,需要安装ruby环境,不然装不了
yum install ruby
 
 
yum install rubygems
 
 
 
安装redis-trib.rb运行依赖的ruby的包
这个gem可以网上下载,很多
 
 
(真实环境下只需要在其中一台机子上运行就行了)
 
 
进入各自的redis文件夹,分别启动所有的 redis 实例
 
启动成功
 
使用 redis-trib.rb 创建集群
不管是不是伪分布式,这只需要启动一次
 
成功~!
 
链接第一个节点
 
 
下面演示使用jedis来读写缓存
当然加入spring中一定要使用单例
 1 @Test
 2     public void testCluster() throws Exception {
 3         Set<HostAndPort> nodes = new HashSet<>();
 4         nodes.add(new HostAndPort("192.168.1.193", 7001));
 5         nodes.add(new HostAndPort("192.168.1.194", 7002));
 6         nodes.add(new HostAndPort("192.168.1.195", 7003));
 7         nodes.add(new HostAndPort("192.168.1.196", 7004));
 8         nodes.add(new HostAndPort("192.168.1.197", 7005));
 9         nodes.add(new HostAndPort("192.168.1.198", 7006));
10         JedisCluster jedisCluster = new JedisCluster(nodes);
11         jedisCluster.set("name", "lee");
12         jedisCluster.set("age", "18");
13         String name = jedisCluster.get("name");
14         String value = jedisCluster.get("age");
15         System.out.println(name);
16         System.out.println(value);
17         jedisCluster.close();
18     }

运行结果:

可以看到redis客户端上取数据的时候IP是不一样的

 
 
 
 
 
 
 
 
 

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
15天前
|
NoSQL Linux Redis
06- 你们使用Redis是单点还是集群 ? 哪种集群 ?
**Redis配置:** 使用哨兵集群,结构为1主2从,加上3个哨兵节点,总计分布在3台Linux服务器上,提供高可用性。
225 0
|
24天前
|
负载均衡 监控 NoSQL
Redis的集群方案有哪些?
Redis集群包括主从复制(基础,手动故障恢复)、哨兵模式(自动高可用)和Redis Cluster(官方分布式解决方案,自动分片和容错)。此外,还有如Codis、Redisson和Twemproxy等第三方工具用于代理和负载均衡。选择方案需考虑应用场景、数据规模和并发需求。
188 2
|
21小时前
|
存储 缓存 NoSQL
Redis入门到通关之Redis缓存数据实战
Redis入门到通关之Redis缓存数据实战
|
2天前
|
存储 缓存 运维
软件体系结构 - 缓存技术(5)Redis Cluster
【4月更文挑战第20天】软件体系结构 - 缓存技术(5)Redis Cluster
136 10
|
7天前
|
存储 Java 网络安全
ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
【4月更文挑战第10天】ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
12 1
|
10天前
|
缓存 NoSQL Java
使用Redis进行Java缓存策略设计
【4月更文挑战第16天】在高并发Java应用中,Redis作为缓存中间件提升性能。本文探讨如何使用Redis设计缓存策略。Redis是开源内存数据结构存储系统,支持多种数据结构。Java中常用Redis客户端有Jedis和Lettuce。缓存设计遵循一致性、失效、雪崩、穿透和预热原则。常见缓存模式包括Cache-Aside、Read-Through、Write-Through和Write-Behind。示例展示了使用Jedis实现Cache-Aside模式。优化策略包括分布式锁、缓存预热、随机过期时间、限流和降级,以应对缓存挑战。
|
17天前
|
存储 缓存 NoSQL
使用redis进行缓存加速
使用redis进行缓存加速
27 0
|
18天前
|
存储 缓存 NoSQL
Java手撸一个缓存类似Redis
`LocalExpiringCache`是Java实现的一个本地缓存类,使用ConcurrentHashMap存储键值对,并通过ScheduledExecutorService定时清理过期的缓存项。类中包含`put`、`get`、`remove`等方法操作缓存,并有`clearCache`方法来清除过期的缓存条目。初始化时,会注册一个定时任务,每500毫秒检查并清理一次过期缓存。单例模式确保了类的唯一实例。
15 0
|
22天前
|
存储 缓存 NoSQL
Redis 服务器指南:高性能内存数据库的完整使用指南
Redis 服务器指南:高性能内存数据库的完整使用指南
|
24天前
|
NoSQL Java 测试技术
面试官:如何搭建Redis集群?
**Redis Cluster** 是从 Redis 3.0 开始引入的集群解决方案,它分散数据以减少对单个主节点的依赖,提升读写性能。16384 个槽位分配给节点,客户端通过槽位信息直接路由请求。集群是无代理、去中心化的,多数命令直接由节点处理,保持高性能。通过 `create-cluster` 工具快速搭建集群,但适用于测试环境。在生产环境,需手动配置文件,启动节点,然后使用 `redis-cli --cluster create` 分配槽位和从节点。集群动态添加删除节点、数据重新分片及故障转移涉及复杂操作,包括主从切换和槽位迁移。
32 0
面试官:如何搭建Redis集群?

热门文章

最新文章