• [行业资讯] 华为云GaussDB携5大核心竞争力亮相2021中国系统架构师大会
     5月20-22日,以“数字转型、架构重塑”为主题的第十三届中国系统架构师大会(SACC2021)在云端进行网络直播。华为云NoSQL数据库架构师余汶龙受邀参加并发表了重要演讲,分享了GaussDB(for Redis)的存算分离架构设计理念以及构筑的产品核心竞争力,以创新技术构建业务敏捷性,驱动企业数字化转型。 Redis作为业界最受欢迎的NoSQL数据库之一,在性能、数据结构多样性等方面具备优势。但随着企业数字化进程加快,开源Redis在AOF膨胀、快照性能、主从脱节、高成本、低容量等方面的劣势愈发明显,这也进一步催生了Redis生态的技术革新。 GaussDB(for Redis)是华为云数据库团队自主研发的兼容Redis协议的云原生数据库,该数据库采用计算存储分离架构,突破开源Redis的内存限制,可轻松扩展至PB级存储。 在GaussDB(for Redis)计算存储分离架构模型下,计算层提供了热数据缓存,存储层负责将全量数据落盘。内部通过RDMA高速网络互连,通过算法预测用户访问规律,实现数据的自动冷热交换,最终达到极致的性能提升。 该架构底层核心部分是基于华为内部强大且广泛使用的自研分布式存储系统DFV,实现了一套Share Everything的云原生架构,充分发挥了云原生的弹性伸缩、资源共享的优势,完美避开了开源Redis的主从堆积、主从不一致、fork抖动、内存利用率只有50%、大key阻塞、gossip集群管理等问题。 基于该架构,GaussDB(for Redis)构筑了强一致、高可用、冷热分离、弹性伸缩、高性能等5大极具竞争力的能力优势。强一致。数据复制是存储的事情,因此专业的事情交给专业的团队来做。通过分布式存储DFV,GaussDB(for Redis)轻松实现了3副本强一致,并可轻松支持6副本,为业界首创。在强一致架构下,用户再也不用担心开源Redis的主从堆积带来的丢数据、不一致、OOM等极端问题,更不用担心业务出错,比如计数器、限流器、访问统计、hash字段等不一致。高可用。开源Redis的单分片和集群,其数据复制都采用主从架构,导致N个节点的集群,如果同时挂掉一对主从(即2个节点),整个集群就不可用。而GaussDB(for Redis)采用存算分离之后,每个计算节点都可以看到并共享所有数据。因此对于N个节点的实例,最多可以容忍N-1个节点异常,真正做到了超高可用性。冷热分离。为充分发挥数据价值,GaussDB(for Redis)实行冷热数据分离,热数据放在内存,冷数据放在磁盘,同时自动LRU淘汰冷数据,实时预测算法加载热数据。这样既使得冷热数据一致性强,交互逻辑又简单,对业务友好。弹性伸缩。数据量膨胀到一定规模后,扩容往往被认为是个高危且困难的操作。GaussDB(for Redis)基于云原生架构,将计算资源和存储资源的扩容解耦。计算层扩容,无需任何数据搬迁,只需修改路由映射,即可秒级完成。存储层是个共建的超级数据湖,其容量巨大,拥有极佳的动态扩容能力。此外,基于64MB细粒度数据分区,整个扩容过程,对上层数据库业务几乎无感。因此GaussDB(for Redis)可以轻松支撑业务后期的大规模膨胀,并且真正做到计算/存储分层的按需扩容和购买。高性能。受益于多点读写,并且不存在备节点浪费资源,GaussDB(for Redis)在性能比拼中,吞吐和时延能力领先于其它云厂商2-3倍。同时受益于多线程架构、高压缩比、高内存利用率等优势,GaussDB(for Redis)对比相同内存的开源Redis,吞吐和时延表现更为优秀。 存算分离的分布式架构是大势所趋,目前已经有越来越多的企业选择将核心业务上云到该架构,而且基于该架构构建的产品核心能力,又极大促进了企业业务的发展,加速企业数字化转型升级。华为云期待未来能有更多企业客户,基于GaussDB(for Redis)的核心能力,共促产业发展,共赢时代新机遇!
  • [技术干货] 微认证之路 基于鲲鹏架构的Redis搭建高性能网盘
    ### 名称及链接 [基于鲲鹏架构的Redis搭建高性能网盘](https://edu.huaweicloud.com/certifications/be6df56a70304b66b55b48fdc089c3fb)   ### 课程章节 1. 使用分布式缓存的背景及意义 2. Redis 增强互联网应用负载能力的解决方案 3. 高性能个人网盘搭建所需华为云技术 4. 高性能个人网盘搭建实践   ### 证书 ![wrz-kp-cj-redis.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/14/150902b9vpnfgdzrafdjac.png)   ### 笔记 1. redis 1. 有效减少数据库磁盘IO 2. 提高数据查询效率 3. 减轻管理维护工作量 4. 降低数据库存储成本 2. 构建大型系统会面临的挑战 1. 高并发 2. 高可用 3. 高性能 3. 分布式缓存 1. 可用性 2. 扩展性 4. 华为云提供的DCS,兼容的内存数据库引擎 1. redis 2. memcached 5. 分布式缓存的基本概念 1. 缓存实例 2. 副本 3. 公网访问 4. 条带 6. OBS IAM VPC ECS DCS CES CTS ELB RDS 7. 鲲鹏架构 - 分布式缓存服务Redis 1. 首个基于ARM全栈整合的Redis云服务 2. 支持双机热备的HA架构 3. 实例类型 1. 单机 2. 主备 3. proxy集群 4. cluster集群 4. 性能助力 1. 华为自研LibOS 2. 华为自研编译器 3. 华为自研iSula容器引擎 8. RDS支持的引擎 1. MySQL 2. postgresql 3. sql server 4. gaussDB(openGauss) 9. Apache PHP Redis nextcloud(开源个人网盘) 10. centos操作命令   ### 备注 1. 感谢老师的教学与课件 2. 欢迎各位同学一起来交流学习心得^_^ 3. 在线课程、沙箱实验、博客和直播,其中包含了许多优质的内容,推荐了解与学习。
  • DCS Redis5.0内存使用优化
    Redis5.0在上一版本基础上,在内存使用上做了进一步优化。主动碎片整理当key被频繁修改,value长度不断变化时,Redis会为key分配新的内存空间。由于Redis追求高性能,实现了自己的内存分配器来管理内存,因此并不会将原有内存释放给OS,从而导致出现内存碎片。当used_memory_rss/used_memory高于1.5,一般认为内存碎片占比过高,内存利用率低。因此,合理规划和使用缓存数据,规范数据写入,有助于减少内存碎片的产生。Redis3.0及以下:可以通过定期重启服务解决内存碎片问题。建议实际缓存数据不超过配置可用内存的50%。Redis4.0:支持主动整理内存碎片,服务在运行期间进行自动内存碎片清理。同时Redis4.0支持通过memory purge命令手动清理内存碎片。Redis5.0:增强版主动碎片整理,配合Jemalloc版本更新,更快更智能,延时更低。HyperLogLog算法优化HyperLogLog是一种基数计数方法,使用少量的内存空间完成海量数据的计数统计,在Redis5.0中,HyperLogLog算法得到改进,优化了计数统计时的内存使用效率。举个例子:B树计数效率非常高,但是内存消耗也比较多。而HyperLogLog可节省大量存储空间。当B树需要1M内存统计,HyperLogLog只需要1kb。内存信息统计报告能力增强INFO命令返回信息更加详实。
  • [已解决问题归档] redis安装后,集群启动失败
    【问题来源】:长沙银行【问题简要】:  redis按照文档部署后,启动集群失败【问题类别】:  REDIS【AICC解决方案版本】    AICC可选择版本:AICC 8.14.0【期望解决时间】5月15日【问题现象描述】: 
  • [技术干货] Redis基础
    NoSQL介绍基本概述NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。特点:    不遵循SQL标准。(有自己的一系列命令操作)    不支持ACID(没有事务地特性不代表没有事务)    比SQL性能高很多Redis介绍    使用场景配合关系型数据库做高速缓存比如:高频率访问的数据,降低数据库地IO,分布式架构中,做session地共享多样地数据结构存储持久化数据    安装Redis官方网站    Redis中文官方网站http://redis.io    http://redis.cn/说明:redis没有官方提供windows地安装包,但是Windows自个提供了这个安装包。    准备工作:下载安装最新版的gcc编译器    yum install centos-release-scl scl-utils-build    yum install -y devtoolset-8-toolchain    scl enable devtoolset-8 bash    gcc --version # 测试安装环境         Linux命令配置    tar -zxvf redis-6.2.1.tar.gz # 解压这个安装包    # 然后进入这个解压后的目录    cd redis-6.2.1    # 在redis-6.2.1目录下再次执行make命令(只是编译好)    # 如果没有准备好C语言编译环境,make 会报错—Jemalloc/jemalloc.h:没有那个文件    # 解决方案:运行make distclean,在redis-6.2.1目录下再次执行make命令,跳过make test 继续执行: make install        1        2        3        4        5        6    然后就是启动Redis相关知识    redis中默认16个数据库,类似数组下标从0开始,初始默认使用0号库。使用命令 select 来切换数据库。如: select 8    统一密码管理,所有库同样密码。    dbsize查看当前数据库的key的数量    flushdb清空当前库    flushall通杀全部库    Redis是单线程+多路IO复用技术正经说法:多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)在这里插入图片描述通俗例子:假设有三个人去车站买票,买不同的地方的,这个时候就需要三个窗口进行,并且如果前面有人你就不能走,还需要排队等着,这个时候如果叫黄牛买票呢?这三个人就只需要一个电话打给这个黄牛,然后他们有啥事就走了,压根不用等,等这个黄牛买到票了会打电话通知他们,这个时候他们再来取票就行了。Redis数据类型命令手册:http://www.redis.cn/commands.html菜鸟教程:https://www.runoob.com/redis在先命令测试:https://try.redis.io/(只包含常用地数据结构操作)
  • [已解决问题归档] redis参数配置
    【问题简要】 长沙银行AICC项目【问题类别】【必填】  Redis(当初采用的8.12.0版本包下载的)【AICC解决方案版本】【必填】 AICC 8.14.0【期望解决时间】【选填】  0.5个工作日内【问题现象描述】【必填】  帮忙确认下AICC搭建整个平台,redis相关参数值设置标准明确下!   下面是我通过ideploy工具安装的redis集群,根据redis.log日志发现应该是工具装完有些参数设置太小了。
  • [技术干货] ESC连接redis进行性能压测
    第一:购买ECS第二步:购买Redis示例第三步:登录ECS在ESC安装Redis-cli客户端 1、 执行以下命令,获取Redis客户端源码,下载路径为http://download.redis.io/releases/redis-5.0.8.tar.gz。     wget http://download.redis.io/releases/redis-5.0.8.tar.gz  执行如下命令,解压Redis客户端源码包。     tar -xzf redis-5.0.8.tar.gz  进入Redis目录并编译Redis客户端源码。     cd redis-5.0.8     make     cd src     ls src 2、执行以下命令连接Redis实例。./redis-cli -h {dcs_instance_address} -p 6379如果redis设置有密码则:auth <password>3、使用redis命令写入和查询数据set abc 123get abc 其他的更多redis客户端的链接方式请查看https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0713004.html 第四步:使用redis-benchmark工具进行性能测试在上面的编译后的src目录下有一个性能压测工具redis-benchmark          cd src          ./redis-benchmark -h {IP} -p {Port} 更多性能测试请参考:https://support.huaweicloud.com/pwp-dcs/dcs-pwp-0423002.html附:编译redis-5.0.8报错/usr/bin/ld: cannot find -latomic解决方法【问题描述】使用make编译开源组件redis-5.0.8版本报/usr/bin/ld: cannot find -latomic错误,详细报错如下截图:【问题分析】latomic代表的是 libatomic.so,也即是在编译的过程中,需要libatomic.so库,而系统又找不到这个库解决方法是手动找到这个库,可能存在如下几种情况:1、系统中没有安装依赖库libatomic.so,通过执行yum -y install *atomic*安装相关依赖,安装后执行rpm -qa | grep atomic查看是否安装了相关依赖2、系统可能已经存在libatomic.so,但是不在默认查找路径(/usr/lib之类的路径),而是在其他路径中3、系统中没有libatomic.so这个库,但是找到类似 libatomic.so.1.0 这种带版本号的库,通过执行find / -name "libatomic.so*"来确认【解决方法】使用软链接的方法将依赖库libatomic.so链接到正确路径,执行如下命令:sudo ln -s /usr/lib64/libatomic.so.1.2.0 /usr/lib/libatomic.so然后再执行make编译即可正常编译通过。摘至于https://www.cnblogs.com/omgasw/p/14179870.html
  • [技术干货] 高斯Redis系列文章导航
    高斯Redis揭秘系列文章第十二期:2021最新架构分享链接第十一期:迁移系列下链接第十期:迁移系列上链接第九期:与HBase的对比链接第八期:用高斯Redis进行计数链接第七期:高斯Redis与强一致链接第六期:Feed流场景中的应用链接第五期:高斯 Redis 在IM场景中的应用链接第四期:GEO场景应用链接第三期:探讨Redis fork带来的性能抖动链接第二期:stream场景应用链接第一期:Redis与存算分离,讲架构设计链接第三方测评文章DBA测试:高斯Redis与自建Redis的成本对比链接第三方性能测试评价链接高斯Redis与开源Redis性能对比链接性能数据高斯Redis多种规格性能白皮书链接
  • [技术干货] Redis连接池配置及初始化实现
    加入db选择后的redis连接池配置代码public class RedisPoolConfigure { //Redis服务器IP private String ADDR ; //Redis的端口号 private int PORT ; //可用连接实例的最大数目 private int MAX_ACTIVE ; //pool中的idle jedis实例数 private int MAX_IDLE ; //等待可用连接的最大时间,单位毫秒 private int MAX_WAIT ; //超时时间,单位毫秒 private int TIME_OUT ; //设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数) private String EVICTION_POLICY_CLASS_NAME ; //连接耗尽时是否阻塞, false报异常,ture阻塞直到超时 private boolean BLOCK_WHEN_EXHAUSTED; //是否启用pool的jmx管理功能, 默认true private boolean JMX_ENABLED; //在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; private boolean TEST_ON_BORROW ; //服务器密码 private String REDIS_PASS; //redis选择数据库DB private int REDIS_DB; private String LUASHA; private Map<String, String> configure = null; /** * 根据配置文件,将RedisPool连接配置初始化 */ public RedisPoolConfigure(){ try { configure = new ConfigureReader().readProperties("redis.properties"); } catch (IOException e) { e.printStackTrace(); } this.ADDR = configure.get("REDIS.ADDR"); this.LUASHA = configure.get("REDIS.LUA_HASH"); this.EVICTION_POLICY_CLASS_NAME = configure.get("REDIS.EVICTION_POLICY_CLASS_NAME"); this.BLOCK_WHEN_EXHAUSTED = Boolean.parseBoolean(configure.get("REDIS.BLOCK_WHEN_EXHAUSTED")); this.JMX_ENABLED = Boolean.parseBoolean(configure.get("REDIS.JMX_ENABLED")); this.TEST_ON_BORROW = Boolean.parseBoolean(configure.get("REDIS.TEST_ON_BORROW")); this.REDIS_PASS=configure.get("REDIS.PASS"); if(typeCheck()){ this.PORT = new Integer(configure.get("REDIS.PORT")); this.MAX_ACTIVE = new Integer(configure.get("REDIS.MAX_ACTIVE")); this.MAX_IDLE = new Integer(configure.get("REDIS.MAX_IDLE")); this.MAX_WAIT = new Integer(configure.get("REDIS.MAX_WAIT")); this.REDIS_DB=new Integer(configure.get("REDIS.DB")); }else{ System.out.println("error"); } } /** * 辅助工具,检查map中数据的类型 * @return */ private boolean typeCheck() { if (isNumeric(configure.get("REDIS.PORT")) && isNumeric(configure.get("REDIS.MAX_ACTIVE")) && isNumeric(configure.get("REDIS.MAX_IDLE")) && isNumeric(configure.get("REDIS.MAX_WAIT")) && isNumeric(configure.get("REDIS.DB"))) { return true; } return false; } public String getADDR() { return ADDR; } public int getPORT() { return PORT; } public int getMAX_ACTIVE() { return MAX_ACTIVE; } public int getMAX_IDLE() { return MAX_IDLE; } public int getMAX_WAIT() { return MAX_WAIT; } public int getTIME_OUT() { return TIME_OUT; } public boolean isTEST_ON_BORROW() { return TEST_ON_BORROW; } public String getEVICTION_POLICY_CLASS_NAME() { return EVICTION_POLICY_CLASS_NAME; } public boolean isBLOCK_WHEN_EXHAUSTED() { return BLOCK_WHEN_EXHAUSTED; } public boolean isJMX_ENABLED() { return JMX_ENABLED; } /** * 判断传入的数据是否为纯数字构成 * @param str * @return */ public boolean isNumeric(String str) { if(str==null || "".equals(str)){ return false; } for (int i = 0; i < str.length(); i++) { if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } public String getLUASHA() { return LUASHA; } public void setLUASHA(String lUASHA) { LUASHA = lUASHA; } public String getREDIS_PASS() { return REDIS_PASS; } public void setREDIS_PASS(String rEDIS_PASS) { REDIS_PASS = rEDIS_PASS; } public int getREDIS_DB() { return REDIS_DB; } public void setREDIS_DB(int rEDIS_DB) { REDIS_DB = rEDIS_DB; } }redis连接池初始化、获取Jedis实例和释放Jedis实例/** * jedis的连接池,返回未封装的jedis对象 * 一般只有在RedisCache类提供的操作粒度不足使用时才使用此类提供的原生jedis方法 * @author Hector * */ public class RedisPool { private static JedisPool jedisPool = null; /** * 初始化Redis连接池 */ static { try { RedisPoolConfigure configure = new RedisPoolConfigure(); JedisPoolConfig config = new JedisPoolConfig(); config.setBlockWhenExhausted(configure.isBLOCK_WHEN_EXHAUSTED()); config.setEvictionPolicyClassName(configure.getEVICTION_POLICY_CLASS_NAME()); config.setJmxEnabled(configure.isJMX_ENABLED()); config.setMaxIdle(configure.getMAX_IDLE()); config.setMaxTotal(configure.getMAX_ACTIVE()); config.setMaxWaitMillis(configure.getMAX_WAIT()); config.setTestOnBorrow(configure.isTEST_ON_BORROW()); jedisPool = new JedisPool(config, configure.getADDR(), configure.getPORT(), configure.getTIME_OUT(),configure.getREDIS_PASS(),configure.getREDIS_DB()); } catch (Exception e) { e.printStackTrace(); } } /** * 获取Jedis实例 * @return */ public synchronized static Jedis getJedis() { Jedis resource=null; try { if (jedisPool != null) { resource = jedisPool.getResource(); return resource; } else { return null; } } catch (Exception e) { e.printStackTrace(); return null; } } /** * 释放jedis资源 * @param jedis */ public static void close(final Jedis jedis) { if (jedis != null) { jedis.close(); } } public static JedisPool getJedisPool() { return jedisPool; } }
  • [SaaS] Redis的多租户集群容器化如何设计
    Redis 多租户平台分为三部分,分别是 Redis 管理后台、Redis 的客户端、Redis 集群。对于 Redis 集群的部署,我们没有做持久化,通过一主一从数据冗余来保证高可用:其中”主“承接所有读写流量,”从“不承接任何读写流量,仅用于”主“故障时做灾备。集群模式采用的 Redis Cluster。某个节点的部署:1 个虚机节点部署 2 个 Redis 实例,一主一从;主从不是一对:避免单个虚机节点故障时,主从同时不可用  导致丢数据,且影响业务。对于同一个 redis 实例,可以多个应用(即多个 namespace)共享。业务应用在使用 Redis 多租户平台前需要做什么呢?首先,一个业务应用要去 Redis 管理后台去申请一个属于这个应用的 namespace,通常 namespace 由"集群名 @应用名"组成,他作为该应用在 Redis 多租户平台上的唯一标识;其次,这个业务应用的负责人要提供这个应用历史的内存峰值。假设应用 1 的内存峰值是 2G,应用 2 的内存峰值是 3G,那么新的 Redis 多租户申请的资源预留 2 倍,及(2G+3G)*2 = 10G;最后,这个应用需要接入由我们基础架构提供的 Redis 客户端来访问 Redis 多租户集群。业务应用在访问 Redis 多租户集群时,假设执行指令“set key1 abc”,那么 Redis 客户端会自动把原来的 key 前面加上“namespace:”前缀,即指令变成“set cluster1@app1:key1 abc",其中 cluster1 是 Redis 集群名,app1 是应用名。这样,我们就可以根据 namespace 来区分不同应用在 Redis 集群中的数据了。原文链接:降本40%!Redis多租户集群的容器化实践
  • [问题求助] 鲲鹏麒麟镜像安装redis-5.0.9编译失败 /usr/bin/ld: cannot find -latomic
    cd /usr/local/src/redis-5.0.9/#编译make进行编译时失败,截图如下
  • [环境搭建] Fusioninsight安装redis如何修改实例数
    【功能模块】集群安装redis服务【操作步骤&问题现象】1、安装redis服务的时候初始化实例个数比服务器的CPU核数多,导致安装失败,请问如何修改redis安装时的初始化实例个数2、集群版本为 FusionInsight 8.0.2【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [openEuler] 【openEuler】【php插件】缺少php-imap php-pecl-redis 等插件
    【功能模块】【php插件】缺少以下插件php-imapphp-pearphp-pecl-redisphp-pecl-igbinary【操作步骤&问题现象】1、dnf 官方源安装:[root@hw-kp ~]# dnf install --allowerasing --nobest --skip-broken php-embedded php-ldap php-pdo php-process php-cli php-devel php-fpm php-imap php-mbstring php-opcache php-pear php-pecl-redis php-snmp php-xml php-gd php-common php-mysqlnd php-pecl-igbinary php-soap -yLast metadata expiration check: 0:09:10 ago on Tue 13 Apr 2021 04:34:37 PM CST.Package php-embedded-7.2.10-3.oe1.aarch64 is already installed.Package php-ldap-7.2.10-3.oe1.aarch64 is already installed.Package php-pdo-7.2.10-3.oe1.aarch64 is already installed.Package php-process-7.2.10-3.oe1.aarch64 is already installed.Package php-cli-7.2.10-3.oe1.aarch64 is already installed.Package php-devel-7.2.10-3.oe1.aarch64 is already installed.Package php-fpm-7.2.10-3.oe1.aarch64 is already installed.No match for argument: php-imapPackage php-mbstring-7.2.10-3.oe1.aarch64 is already installed.Package php-opcache-7.2.10-3.oe1.aarch64 is already installed.No match for argument: php-pearNo match for argument: php-pecl-redisPackage php-snmp-7.2.10-3.oe1.aarch64 is already installed.Package php-xml-7.2.10-3.oe1.aarch64 is already installed.Package php-gd-7.2.10-3.oe1.aarch64 is already installed.Package php-common-7.2.10-3.oe1.aarch64 is already installed.Package php-mysqlnd-7.2.10-3.oe1.aarch64 is already installed.No match for argument: php-pecl-igbinaryPackage php-soap-7.2.10-3.oe1.aarch64 is already installed.Dependencies resolved.Nothing to do.Complete!2、以下为官方 yum 源:[root@hw-kp ~]# cat /etc/yum.repos.d/openEuler_aarch64.repo#generic-repos is licensed under the Mulan PSL v2.#You can use this software according to the terms and conditions of the Mulan PSL v2.#You may obtain a copy of Mulan PSL v2 at:#    http://license.coscl.org.cn/MulanPSL2#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR#PURPOSE.#See the Mulan PSL v2 for more details.[OS]name=OSbaseurl=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/$basearch/enabled=1gpgcheck=1gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]name=everythingbaseurl=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/everything/$basearch/enabled=1gpgcheck=1gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]name=EPOLbaseurl=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/EPOL/$basearch/enabled=1gpgcheck=1gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]name=debuginfobaseurl=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/debuginfo/$basearch/enabled=1gpgcheck=1gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]name=sourcebaseurl=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/source/enabled=1gpgcheck=1gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/source/RPM-GPG-KEY-openEuler[update]name=updatebaseurl=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/update/$basearch/enabled=0gpgcheck=1gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【省二医智慧院区】【redis连接】开发环境请求连接redis报连接异常
    【功能模块】系统管理 -->人员管理 -->人员群组下添加人员【操作步骤&问题现象】1、添加人员信息后,点击确认,2、问题报错:redis连接器 无法连接【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【人员BO】使用人员BO新增人员,错误信息:redis连接器无法连接
    【功能模块】【操作步骤&问题现象】0、在管理/BO配置/Person/系统参数 中,配置了“RedisConnectorName”:1、使用人员BO新增人员:【截图信息】【日志信息】(可选,上传日志内容或者附件)