Redis学习笔记~conf自主集群模式

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

Redis自主提供了集群模式,当然也只是比较简单的读写分离模式,或者叫主从模式,它在各个redis服务端自己做数据同步机制,当然就是将主服务端的信息同步到各个slave服务器上,在客户端集成的驱动中,需要指定主节点和从节点的信息,服务端根据各自的conf的文件来实现的,下面我主要说一下两大客户端驱动是实现集群的方式方法。

服务端配置

服务端各个从服务器配置如何(6789为主节点的端口,6380为自己节点的端口)

客户端配置

ServiceStack.Redis驱动

        /// <summary>
        /// 创建链接池管理对象
        /// </summary>
        private static void CreateManager()
        {
            //redis写服务器集群
            string[] writeServerList = ConfigManager.Config.Redis.WriteServerList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            //redis读服务器集群
            string[] readServerList = ConfigManager.Config.Redis.ReadServerList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            RedisClientManagerConfig s = new RedisClientManagerConfig();
            s.MaxWritePoolSize = ConfigManager.Config.Redis.MaxWritePoolSize;
            s.MaxReadPoolSize = ConfigManager.Config.Redis.MaxReadPoolSize;
            s.AutoStart = ConfigManager.Config.Redis.AutoStart;
            prcm = new PooledRedisClientManager(writeServerList, readServerList, s);
        }

StackExchange.Redis驱动

    /// <summary>
    /// redis队列管理者,简单的队列添加内容,以及实时消费等功能,与Lind.DDD.CachingQueue不同它将会连接到本地的redis服务器 , 
    /// 默认6379端口,多个连接通过逗号分割 。 其他选项在名称的后面包含了一个 “= ”。 例如
    /// var conn = ConnectionMultiplexer.Connect("redis0:6380,redis1:6380,allowAdmin=true");
    /// </summary>
    public class RedisQueueManager
    {
        /// <summary>
        /// redis连接对象
        /// </summary>
        static ConnectionMultiplexer conn = ConnectionMultiplexer.Connect(ConfigConstants.ConfigManager.Config.Redis.Host);
        /// <summary>
        /// 缓存数据库
        /// </summary>
        static IDatabase cache = conn.GetDatabase();

也可以通过ConfigurationOptions参数来进行配置

ConfigurationOptions config = new ConfigurationOptions
{
EndPoints =
{
{ "redis0", 6379 },
{ "redis1", 6380 }
},
CommandMap = CommandMap.Create(new HashSet<string>
{ 
"INFO", "CONFIG", "CLUSTER",
"PING", "ECHO", "CLIENT"
}, available: false),
KeepAlive = 180,
DefaultVersion = new Version(2, 8, 8),
Password = "changeme"
};

当然,它上面代码也可以直接使用下面的字符串来代替,参数化比较灵活

redis0:6379,redis1:6380,keepAlive=180,version=2.8.8,$CLIENT=,$CLUSTER=,$CONFIG=,$ECHO=,$INFO=,$PING=

好了,对于redis自主集群模式就介绍到这里,下次我们来说说Redis Cluster这个集群,它也是大势所趋!

感谢各位的阅读!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:Redis学习笔记~conf自主集群模式,如需转载请自行联系原博主。

相关实践学习
基于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
目录
相关文章
|
2月前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
27天前
|
监控 NoSQL Redis
看完这篇就能弄懂Redis的集群的原理了
看完这篇就能弄懂Redis的集群的原理了
47 0
|
2月前
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
|
3月前
|
NoSQL Java Redis
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
63 0
|
29天前
|
缓存 NoSQL 关系型数据库
Redis学习总结
Redis学习总结
31 1
|
2月前
|
存储 NoSQL 算法
Redis 集群模式搭建
Redis 集群模式搭建
64 5
|
1月前
|
存储 缓存 NoSQL
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
|
1月前
|
存储 NoSQL Redis
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
|
1月前
|
NoSQL Java 调度
Lettuce的特性和内部实现问题之Redis的管道模式提升性能的问题如何解决
Lettuce的特性和内部实现问题之Redis的管道模式提升性能的问题如何解决