将 rocksdb 与 php 一起用于多个请求

Using rocksdb with php with multiple requests

我想将 rocksdb 用于我的 php mysql 基于网络应用程序。我已经为 rocksdb 构建了 php 扩展,并尝试在简单的程序中使用它。但我看到的是,当我有时从两台计算机访问 php 脚本时,它说 lock:Temporary 没有可用资源。

通过搜索此错误,我发现如果我尝试从两个单独的进程在同一目录中打开 rocksdb,我 运行 就会遇到此问题。 但在典型的 Web 应用程序中,当多个用户同时执行同一脚本时会发生这种情况

我可以这样使用rocksdb吗?

基本上我想将它用作网络应用程序缓存。因此,当数据在缓存中可用时,应用程序将从缓存中 return 如果缓存中不可用,则将其放入缓存中。

我终于发现,如果我使用 php 扩展来使用 rocksdb,它会在每个 php 请求时打开 rocksdb。相反,应该构建一些 运行 服务,使 rocksdb 保持打开状态,并在我的 php 程序需要时提供数据。

节俭解决了我的问题。

这个 post 和评论对我有帮助。

https://engineering.wingify.com/posts/fast-storage-with-rocksdb/