上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 25 下一页
摘要: 一、数据结构基础 1.数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。 2.程序设计 = 数据结构 + 算法 3.数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 4.数据元素:是组成数据的、有一 阅读全文
posted @ 2018-06-12 15:16 BigJunOba 阅读(408) 评论(0) 推荐(0)
摘要: 一、flushall/flushdb误操作的处理 假设进行flush操作的Redis是一对主从结构的主节点,其中键值对的个数是100万,每秒写入量是1000。 1.缓存与存储 被误操作flush后,根据当前Redis是缓存还是存储使用策略有所不同: 缓存:对于业务数据的正确性可能造成损失还小一点,因 阅读全文
posted @ 2018-06-11 16:52 BigJunOba 阅读(2606) 评论(0) 推荐(0)
摘要: 一、缓存的收益和成本 左侧为客户端直接调用存储层的架构,右侧为比较典型的缓存层+存储层架构, 缓存加入后带来的收益如下: 加速读写:因为缓存通常都是全内存的(例如Redis、Memcache),而存储层通常读写性能不够强悍(例如MySQL),通过缓存的使用可以有效地加速读写,优化用户体验。 降低后端 阅读全文
posted @ 2018-06-11 14:37 BigJunOba 阅读(541) 评论(0) 推荐(0)
摘要: 一、数据分布 1.数据分布理论 2.Redis数据分区 Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16383。每一个节点负责维护一部分槽以及槽所映射的键值数据 Redis虚拟槽分区的特点: 解耦数据和节点之间的 阅读全文
posted @ 2018-06-04 22:28 BigJunOba 阅读(4485) 评论(0) 推荐(0)
摘要: Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的。 Redis从2.8开始正式提供了Redis Sentinel(哨兵)架构来解决这个问题。 一、基本概念 1.主从复制的问题 ( 阅读全文
posted @ 2018-06-04 22:22 BigJunOba 阅读(640) 评论(0) 推荐(0)
摘要: Redis所有的数据都存在内存中,当前内存虽然越来越便宜,但跟廉价的硬盘相比成本还是比较昂贵,因此如何高效利用Redis内存变得非常重要。 高效利用Redis内存首先需要理解Redis内存消耗在哪里,如何管理内存,最后才能考虑如何优化内存。 一、内存消耗 有些内存消耗是必不可少的,而有些可以通过参数 阅读全文
posted @ 2018-06-04 22:19 BigJunOba 阅读(1402) 评论(0) 推荐(2)
摘要: 为什么说阻塞是Redis的噩梦: Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。当Redis用于高并发场景时,这条线程就变成了它的生命线。如果出现阻塞,哪怕是很短时间,对于应用来说都是噩梦。 导致阻塞问题的原因: 内在原因:不合理地使用API或数据结构、CPU饱和、持久化阻塞 阅读全文
posted @ 2018-06-04 22:16 BigJunOba 阅读(3160) 评论(0) 推荐(1)
摘要: 在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础,哨兵和集群都是在复制的基础上实现高可用的。复制也是Redis日常运维的常见维护点。 阅读全文
posted @ 2018-06-04 22:15 BigJunOba 阅读(350) 评论(0) 推荐(0)
摘要: 一、RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 1.触发机制 (1)手动触发:save命令和bgsave命令 save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。 b 阅读全文
posted @ 2018-06-04 22:12 BigJunOba 阅读(273) 评论(0) 推荐(0)
摘要: 一、理论分析 在学习Redis中的Jedis这一部分的时候,要使用到Protostuff(Protobuf的Java客户端)这一序列化工具。一开始看到序列化这些字眼的时候,感觉到一头雾水。于是,参考了网上的很多资料,理解了Java序列化与反序列化(参考https://blog.csdn.net/wa 阅读全文
posted @ 2018-06-02 23:02 BigJunOba 阅读(16287) 评论(0) 推荐(4)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 25 下一页