Redis
文章平均质量分 84
Redis企业级实战。
codis集群实操
Redis原理
MyySophia
工作只是你的权利,而只有你的行为才能为你赢得尊重
展开
-
redis主从同步核心概念深刻理解
主从同步的数据是通过网络传输的,主节点写入数据的同时也会在该缓冲区写入,并通过网络传输给从节点,若从节点的网络或者I/O性能波动或异常会导致主节点上的slave buffer缓冲区溢出,溢出后就会导致主从复制停止,在60s(repl-timeout)内不断重试,超过了repl-timeout就会进行重新复制,通过判断repl-backlog-size和offsets 决定是否需要进行部分复制,在codis主从节点较大的时候并行进行主从同步经常出现timeout导致全量复制就是这个原因。原创 2022-09-26 11:09:38 · 394 阅读 · 0 评论 -
raft共识算法动态演示
Raft 分布式共识算法动画演示原创 2022-05-25 22:12:23 · 290 阅读 · 0 评论 -
redis跨实例迁移key(Python 版)
Redis 跨实例迁移原创 2021-11-29 15:39:34 · 1043 阅读 · 0 评论 -
Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
Redis的集群方案大致有三种:1)redis cluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。一、sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel哨兵模式已经被集成在redis2.4之后的版本中。sentinel是redis高可用的解决方案,sentinel系统可以监视一个或者多个redis master服务,以及这些master服务的所有从服转载 2021-07-20 14:36:38 · 455 阅读 · 0 评论 -
Redis核心技术与实战
作为同时具备高性能、高可靠和高可扩展性的典型键值数据库,Redis不仅功能强大,而且稳定,理所当然地成为了大型互联网公司的首选。众多大厂在招聘的时候,不仅会要求面试者能简单地使用Redis,还要能深入地理解底层实现原理,并且具备解决常见问题的能力。可以说,熟练掌握Redis已经成为了技术人的一个必备技能。但是,在学习和使用Redis的过程中,总不可避免地遇见一些棘手的问题,比如:Redis的key和数据结构应该怎么设计?有什么最佳实践? Redis集群如何均衡数据?又如何横向扩展? 怎么保证原创 2021-02-24 13:23:20 · 3508 阅读 · 60 评论 -
02 | 数据结构学习笔记:快速的Redis有哪些慢操作?
一、redis为什么快?redis接收到一个键值对操作后,能以微秒级别的速度找到数据,并快速完成操作。1、所有操作都在内存上完成,内存的访问速度本身就很快2、归功于它的数据结构,键值对是按一定的数据结构来组织的,操作键值对最终就是对数据结构进行增删改查操作。String(字符串) List(列表) Hash(哈希) Set(集合) Sorted Set(有序集合这些是数据的保存形式的类型也就是值的类型,并不是底层的数据结构,这里需要注意。底层数据结构一共有 6 种,分别是.原创 2020-08-08 21:55:13 · 397 阅读 · 0 评论 -
redis集群
一、集群完整性127.0.0.1:6379> config get cluster-require-full-coverage1) "cluster-require-full-coverage"2) "yes"二、带宽消耗原创 2020-04-29 21:49:57 · 245 阅读 · 0 评论 -
Redis的Linux系统优化
通常来看,Redis开发和运维人员更加关注的是Redis本身的一些配置优化,例如AOF和RDB的配置优化、数据结构的配置优化等,但是对于操作系统是否需要针对Redis做一些配置优化不甚了解或者不太关心,然而事实证明一个良好的系统操作配置能够为Redis服务良好运行保驾护航。众所周知Redis的作者对于Windows操作系统并不感冒,目前大部分公司都会将Web服务器、数据库服务器等部署在Linu...转载 2020-04-29 16:40:50 · 299 阅读 · 0 评论 -
redis 持久化
reids的持久化有两种,其中一种就是类似于快照的RDB文件,另外一种类似于mysql的binrary log。出发rdb的条件有三个:....在使用 bgsave命令手动做rdb dump时需要理解几个问题1、bgsave 是异步执行的,是通过fork一个redis 子进程来执行,仅仅会在fork的时候会阻塞,而fork是非常快的,这得益于linux 的copy on wr...原创 2020-04-28 14:41:15 · 257 阅读 · 0 评论 -
redis为什么可以实现分布式锁?和zookeeper实现分布式锁的区别
业务上的用到的redis分布式锁是在多个ap操作同一个数据库表上,以此来避免表锁。多只AP 去抢锁,抢到锁之后才可以对数据做一系列的增删改的操作。首先都会抢着去占锁,抢到后直接设定过期时间,如果获取到的value是nil值则直接删除该key。等待下一次抢锁。关于锁的问题也出过几次问题:1、程序异常中断,锁未释放,导致AP 在空跑,设定的锁过期时间是15mins关键字: setnx...原创 2020-04-28 10:50:04 · 745 阅读 · 0 评论 -
redis big key分析及shell删除
目前发现redis 中,有很多垃圾数据,coids 16个节点,把两台机器600G的内存吃完了,有点夸张。业务上的人只管用,过期时间也不设定。造成很多的垃圾数据。1、153上 节点6379 - 6386上每个几点大约有1300 - 1400W个key。也可以通过redis desktop manager 连接单节点来查看。可以看到这些key的数量是动态变化的。是因为有的k...原创 2020-03-30 17:19:30 · 1645 阅读 · 0 评论 -
redis维护需要掌握的参数配置
一、vm.overcommit_memoryovercommit 参数对redis 的影响。如果设定为0,启动redis会提示:redis期望你将overcommit参数设定为1overcommit_memory的意义[root@P1QMSPL2RTM01 monitor]# cat /proc/sys/vm/overcommit_memory 1修改该参...原创 2020-04-18 22:37:55 · 466 阅读 · 0 评论 -
redis高效运维必知必会
序列化是有成本的不要忽略键的长度参考:1、2、redis主从复制(2)— replication buffer与replication backlog3、复制超时4、主从同步的参数问题5、copy on write 技术COW奶牛!Copy On Write机制了解一下6、深入理解复制。原创 2020-04-16 22:46:04 · 987 阅读 · 1 评论 -
redis ERR handle response, backend conn failure, bad array len, too long
一、报错讯息背景:需要获取一个hash类型的key的数量。使用coids 通过19000 port连接,查询某个key 报此错误[root@P1QM01 ~]# redis-cli -p 19000127.0.0.1:19000> zrangebyscore history:L7100 0 -1(empty list or set)127.0.0.1:19000> ...原创 2020-04-07 15:58:39 · 1129 阅读 · 0 评论 -
Unexpected end of stream 溯源
Unexpected end of stream这个错误的原因定位到的是:edis服务器端已经关闭了客户端的连接,而客户端不知道依然拿着原来的连接去访问redis服务器,结果就会报出这个exception。在redis.conf配置中有两个参数和其有关1、client-output-buffer-limit对于Redis服务器的输出(也就是命令的返回值)来说,其大小通常是不可控制的...转载 2020-03-08 14:04:25 · 15424 阅读 · 0 评论 -
Codis解疑
Codis 由4部分组成:1. Codis Proxy (codis-proxy)2. Codis Dashboard (codis-config)3. Codis Redis (codis-server, 基于redis-2.8.21修改, 增加一些命令)4.ZooKeeper功能概述1. codis-proxy 是客户端连接的 Redis 代理服务, codis-...原创 2020-02-28 11:40:24 · 470 阅读 · 0 评论 -
Redis 的基础命令集合
目录1、Hset 2、Hget Zsetzscanzrangebyscore()zremzcardpipeLine对List操作的命令lrangerpushlpushlpoprpop使用场景1.String类型的应用场景2.list类型的应用场景3.set类型的应用场景4.zset(sorted......原创 2019-03-07 18:25:58 · 2052 阅读 · 0 评论 -
什么是redis的score?
在实际业务中,规则检查的结果集保存在redis中。以 Rule:GlsId:defectCnt:Oos:Ooc:GlsId:RuleId。以ruleID为score存入redis。类似于这种语法,此处可以看到score其实就是一个时间,这个epochSecond时间是simpleTime.atZone(ZoneId.systemDefault()).toInstant().getEpoc...原创 2018-11-02 23:05:57 · 8108 阅读 · 0 评论