重换新生
杂记终于,2020年的3月22日,在某块硬盘上面找到了博客的备份了. 这个博客从我实习后就开始没有更新了,在找回博客后看到以前自己写的内容颇有感慨,发现自己以前以为自己很厉害的写下一些文章,其实...
杂记终于,2020年的3月22日,在某块硬盘上面找到了博客的备份了. 这个博客从我实习后就开始没有更新了,在找回博客后看到以前自己写的内容颇有感慨,发现自己以前以为自己很厉害的写下一些文章,其实...
前记基于Redis实现的分布式锁的性能强,功能多,但是由于Redis本身的特性决定了基于Redis实现的分布式锁可能会不唯一,所以无法应用在要求分布式锁必须绝对唯一的场景。为此,只能基于其他服务...
前记py-redis库默认提供的是高性能,功能简单的分布式锁,这就导致了它无法兼容某些特殊的场景,在本文中将针对各种不同功能从零到一实现对应的锁。
前记Python Asyncio不仅提供了简单的Socket接口,还基于Asyncio.Socket提供了Protocol&Transport接口以及更高级的Stream接口,这些接口大...
前记本文描述的是如何基于Asyncio.Future的特性编写一个语言级别的防缓存击穿的工具–Share,并介绍它的使用和高并发下的处理方法。
前记随着业务的增长,后端技术架构会慢慢的从单体服务转向多服务或者微服务的分布式架构,此时语言级别的锁无法管理所有资源的竞争,只能采用分布式锁。而分布式锁的主体思想虽然与语言级别的锁类似,但还需要...
前记大部分人在接触Redis时就都会了解到Redis是以单线程的形式处理用户命令,导致O(N)的命令有极大的几率会阻塞Redis,所以在使用Redis时需要放弃一些O(n)命令的使用,比如不要去...
前记多功能的路由匹配是PythonWeb框架的一个特色,从Django,Flask框架开始,他们的路由匹配功能就非常丰富,它们基本上都允许Host匹配,重定向匹配以及其他正则匹配等使得用户可以添...
前记最近看到一篇文章《How Much Memory Do You Need to Run 1 Million Concurrent Tasks?》,它介绍了不同语言在运行100万并发时的内存占...
前记最近几天,在使用ChatGPT时会发现无法使用历史记录功能。而在3月24号时,OpenAI公布了这次问题是由于某个Bug导致,导致部分用户能获得到其他用户的信息,而这一切是因为redis-p...
前记Asyncio的同步原语可以简化我们编写资源竞争的代码和规避资源竞争导致的Bug的出现。但是由于协程的特性,在大部分业务代码中并不需要去考虑资源竞争的出现,导致Asyncio同步原语被使用的...
前记Asyncio在经过一段时间的发展以及获取Curio等第三方库的经验来提供更多的功能,目前高级功能也基本完善,但是相对于其他语言,Python的Asyncio高级功能还是不够的,但好在Asy...