上一页 1 2 3 4 5 6 7 8 ··· 15 下一页
摘要: 【参考】 《Redis深度历险 核心原理与应用实践》 Redis所有的数据全部在内存中,如果突然宕机,内存中的数据就都会丢失,那么Redis是怎么保障数据不因故障丢失呢?【Redis的持久化策略】第一种是快照,第二种是AOF日志。所谓快照,就是将这一瞬间所有存于内存的数据全部保留下来,也就是一次性的 阅读全文
posted @ 2021-12-18 22:47 长江同学 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 【RESP-协议内容】Redis序列化协议的简写(Redis Serialization Protocol),是一种直观的文本协议,虽然浪费了一些流量,但是实现简单,解析性能极好。协议规定了5种最小单元类型的传输数据结构,单元结束时统一加上回车换行符\r\n。 单行字符串 以'+'开头 多行字符串 阅读全文
posted @ 2021-12-17 23:02 长江同学 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 【Bug场景】 一个收费充电的系统中,由于有一些因为设备故障而导致用户没有放点成功但不能及时主动给用户退款的情况,所以会有一个定时任务,在每天的固定时间为这些订单主动发起一次退款。在查看退款情况时发现了一个很奇怪的现象,一笔订单本来应该在11-23日就退款给用户的,但到了12-16日还是没有成功退款 阅读全文
posted @ 2021-12-17 21:23 长江同学 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 【Redis是单线程】除Redis之外,Node.js以及Nginx都是单线程,都是服务器高性能的典范。Redis所有的数据都在内存中,所有的运算都是内存级别的运算。对于复杂度为O(n)级别的指令,一定要谨慎使用,否则可能会因为处理这个指令而导致其它客户端使用Redis卡顿。那么Redis既然是单线 阅读全文
posted @ 2021-12-16 21:21 长江同学 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 【场景】生产环境没有对外放开端口,所以在本机Windows、Macos环境下下载的客户端没办法使用,只能在Linux下查看当前的redis使用情况。此时我们可以用redis提供的客户端redis-cli进行操作: 此时我们可以用dbsize查看redis中有多少个key,用info keyspace 阅读全文
posted @ 2021-12-15 22:39 长江同学 阅读(2447) 评论(0) 推荐(0) 编辑
摘要: 【简化场景】现有一批充电站,被一个物业公司运营着,用户来使用充电站里的设备给自己的电瓶车充电,每次充电会扫码付费。这里已经做好了这个公司的利润汇总表,每天的订单,根据充电桩的使用情况进行进账。当然这里面还涉及到这个公司和上级代理商的一些合同,分成等,为了简化场景这里不表述,但有个限制,这里公司每天的 阅读全文
posted @ 2021-12-15 20:14 长江同学 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 直接查blob字段是看不到具体的内容的 需要用convert函数将blob类型字段内容转换编码:select convert(column using utf8mb4) from table; 阅读全文
posted @ 2021-12-15 09:47 长江同学 阅读(3494) 评论(0) 推荐(0) 编辑
摘要: 【位置排序相关的需求】其实这种需求是比较多的,这里举一个简单的场景。比如我们在全国各地有很多充电站,每个充电站在数据库里都有对应的省市县以及经度纬度,在对充电站维护的时候经常会依据电工的即时位置查看周边有哪些充电站,并对这些充电站的位置参照电工的即时位置计算距离,并根据距离大小进行排序。 首先,我们 阅读全文
posted @ 2021-12-13 21:48 长江同学 阅读(2141) 评论(0) 推荐(0) 编辑
摘要: 【参考】 《Redis深度历险 核心原理与应用实践》https://blog.csdn.net/liubao616311/article/details/89247622 【引】 1.当系统处理能力有限时,如何进行限流?2.控制用户行为,避免垃圾请求(避免短时间多次操作)。比如一段时间内用户只能操作 阅读全文
posted @ 2021-12-12 13:09 长江同学 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 【引】基数很大的集合,需要我们比较某个元素是不是存在于这个集合。如果这个查询验证的频率还很高,那么如何设计呢?【方案】1.数据库查询可能我们要考虑的就是如何去分库了,然后再hash到对应的库中进行查找元素。这会是一个比较复杂,实施起来也麻烦的方案。2.HashSet对于查询的热点数据,我们也可以存于 阅读全文
posted @ 2021-12-09 22:25 长江同学 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 【统计PV与UV】Redis提供了一组略有误差的统计指令,pfadd与pfcount,这两个指令配合使用,可以进行上亿数据的去重不精确统计,它的优势就是节省空间(12KB就能统计2^64个数据)。想想如果使用set进行过滤与存储会是多大的空间消耗。另外,使用pfmerge可以将多个pf数值累加在一起 阅读全文
posted @ 2021-12-07 22:11 长江同学 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 在子模块比较多的Maven项目中,无论是项目上线前发release版本,还是稳定之后再次改SNAPSHOT版本进行集中开发,父POM与子Module的版本修改总是需要一个一个将子pom以及子module中的<parent/>内的version修改过来(maven不支持不写version,并且不支持变 阅读全文
posted @ 2021-12-07 17:36 长江同学 阅读(3583) 评论(0) 推荐(0) 编辑
摘要: 【参考】《Redis深度历险 核心原理与应用实践》【位图的概念】对于一些bool类型的数据,如是否签到的场景,虽然单个记录简单,但是需要长期、固定地去记录且用户量很大的时候,那么存储空间是特别惊人的。我们可以利用位图的结构来进行处理,这样可以节省大量空间。位图,即在每一位上设置1或者0来标记bool 阅读全文
posted @ 2021-12-06 22:56 长江同学 阅读(199) 评论(0) 推荐(0) 编辑
摘要: Redis分布式锁【分布式锁】分布式场景中的数据一致性问题一直是一个比较重要的话题,其中的核心就是分布式锁。在大多数系统设计时我们一般会牺牲掉强一致性来保证数据的最终一致性,这需要我们合理地使用分布式锁和分布式事务。一个合格的分布式锁需要做到多客户端互斥、安全(谁持有该锁谁才能删除)、避免死锁(客户 阅读全文
posted @ 2021-12-05 20:17 长江同学 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 【前言】与主流的消息队列组件,如Kafka,RabbitMQ等相比,Redis可以轻松实现一个轻量级的消息队列。基本上现在的系统都会涉及到缓存,如果不是单体应用,一般主流会选择Redis作为一个跨服务的缓存组件。所以如果对于实时性没有特别苛刻的要求,Redis是可以胜任作为一个消息队列来使用的。【R 阅读全文
posted @ 2021-12-04 15:40 长江同学 阅读(580) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 15 下一页