摘要: Python 中的方法解析顺序(Method Resolution Order, MRO)定义了多继承存在时 Python 解释器查找函数解析的正确方式。当 Python 版本从 2.2 发展到 2.3 再到现在的 Python 3,MRO算法也随之发生了相应的变化。这种变化在很多时候影响了我们使用 阅读全文
posted @ 2020-06-20 11:59 JonPan 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 作为一种定期清理无效数据的重要机制,主键失效存在于大多数缓存系统中,Redis 也不例外。在 Redis 提供的诸多命令中,EXPIRE、EXPIREAT、PEXPIRE、PEXPIREAT 以及 SETEX 和 PSETEX 均可以用来设置一条 Key-Value 对的失效时间,而一条 Key-V 阅读全文
posted @ 2020-06-14 12:05 JonPan 阅读(1079) 评论(0) 推荐(1) 编辑
摘要: Redis 持久化设计 持久化的功能:Redis是内存数据库,数据都是存储在内存中的,为了避免进程退出导致数据的永久丢失,要定期将Redis中的数据以某种形式从内存保存到硬盘,当下次Reids重启时,利用持久化文件实现数据恢复。 RDB:将当前数据保存到硬盘 AOF:将每次执行的写命令保存到硬盘(类 阅读全文
posted @ 2020-06-14 11:44 JonPan 阅读(441) 评论(0) 推荐(1) 编辑
摘要: Redis的内存和实现机制 1. Reids内存的划分 数据 内存统计在used_memory中 进程本身运行需要内存 Redis主进程本身运行需要的内存占用,代码、常量池等 缓冲内存,客户端缓冲区、复制积压缓冲区、AOF缓冲区。有jemalloc分配内存,会统计在used_memory中 内存碎片 阅读全文
posted @ 2020-06-12 13:07 JonPan 阅读(1535) 评论(0) 推荐(0) 编辑
摘要: Python的垃圾回收机制包括了两大部分: 引用计数(大部分在 Include/object.h 中定义) 标记清除+隔代回收(大部分在 Modules/gcmodule.c 中定义) 1. 引用计数机制 python中万物皆对象,他的核心结构是:PyObject typedef __int64 s 阅读全文
posted @ 2020-06-12 00:01 JonPan 阅读(362) 评论(0) 推荐(1) 编辑
摘要: 解题思路 方法一:先按【点】进行切割版本号,得到一个数组,这里要考虑数组不等长的问题,所以短的要进行补0操作,然后依次多数组中元素进行比较,当然字符串要转换为整数在进行比较 方法二:不切割,使用双指针逐步进行比较,根据点做为前置条件,每个字符转为 ASCII 码,并用*10来避免前导零和后置零的问题 阅读全文
posted @ 2020-06-10 12:49 JonPan 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 现在已经是2020年了,而在2010年的时候,大佬[David Beazley]就做了讲座讲解Python GIL的设计相关问题,10年间相信也在不断改善和优化,但是并没有将GIL从CPython中移除,可想而知,GIL已经深入CPython,难以移除。就目前来看,工作中常用的还是协程,多线程来处理高并发的I/O密集型任务。CPU密集型的大型计算可以用其他语言来实现。 阅读全文
posted @ 2020-06-09 21:57 JonPan 阅读(808) 评论(0) 推荐(0) 编辑
摘要: **题目:**给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。链接 示例 1: 输入: numerator = 1, denominator = 2 输出: "0.5" 示例 2: 输入: 阅读全文
posted @ 2020-06-09 12:20 JonPan 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-06-08 23:40 JonPan 阅读(1428) 评论(0) 推荐(1) 编辑
摘要: python 内存管理机制,pymalloc, 对象池 阅读全文
posted @ 2020-06-06 22:33 JonPan 阅读(539) 评论(0) 推荐(0) 编辑