译|了解 Bitcask:基于日志结构的 KV 存储引擎
最近我在微信上看到了一篇介绍 rosedb 的文章,从这篇文章中,我了解到 rosedb 是一个基于 Bitcask 存储模型的 KV 存储引擎,并在此基础上做了大量了优化工作,它兼容 Redis 协议、支持丰富的数据结构和批量操作。实际上,可以将 rosedb 看作是 Go 语言版本的 Redis。 ...

最近我在微信上看到了一篇介绍 rosedb 的文章,从这篇文章中,我了解到 rosedb 是一个基于 Bitcask 存储模型的 KV 存储引擎,并在此基础上做了大量了优化工作,它兼容 Redis 协议、支持丰富的数据结构和批量操作。实际上,可以将 rosedb 看作是 Go 语言版本的 Redis。 ...

写这篇文章的起因是朋友让我帮忙解决一个与 SM2 算法加密相关的问题。由于我对 SM2 算法并不熟悉,因此在解决问题的过程中走了很多弯路,花了很多时间去了解 SM2 算法以及如何通过代码还原压缩公钥。随着越来越多的系统采用国密算法,我们在对接的时候难免会遇到类似的问题,网上关于这方面的资料也比较少,因此趁周末有空,将我发现的几种还原压缩公钥的方法记录下来,希望对你有所帮助。 ...
当我们创建 Hyperf 项目之后,只需要在终端执行 php bin/hyperf.php start 启动命令,等上几秒钟,就可以看到终端输出的 Worker 进程已启动,HTTP 服务监听在 9501 端口的日志信息。 [INFO] Worker#3 started. [INFO] Worker#1 started. [INFO] Worker#2 started. [INFO] Worker#0 started. [INFO] HTTP Server listening at 0.0.0.0:9501 打开浏览器访问 http://127.0.0.1:9501,不出意外的话,页面会显示 Hello Hyperf,说明 HTTP 服务已经在工作了。那么这是怎么做到的呢?当我们执行启动命令后,Hyperf 是如何让 HTTP 服务启动的? ...
问题环境 PHP: 8.0.13 Swoole: 4.6.2 Hyperf: 2.2.33 运行环境: Docker Desktop on WSL2 问题背景 有同事说我之前使用注解实现的某个功能有问题,具体表现就是有部分使用了注解的类没有被 Hyperf 收集到注解收集器中,导致出现了不符合预期的结果。 ...
考虑到使用一台独立的服务器来部署静态博客多少有点浪费,所以决定将博客迁移到又拍云上,一是可以节省服务器成本;二是可以利用又拍云多节点 CDN 提升博客的访问速度。之前为了将博客图片托管到又拍云上,参加了又拍云的联盟活动,每个月可以免费获得 10GB 存储空间 + 15GB CDN 流量,对于我这个小博客是完全够用的。 ...
