首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/6990971/blog/11051328

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

高维解码|Redis 收紧许可证!开源软件公司如何在云时代生存?

最近,Redis 从开放源代码的 BSD 许可证过渡到了更加限制性的 Server Side Public License (SSPLv1)。一石激起千层浪,Redis 的这一举动,不仅分化了前 Redis 维护者,也再次引发业界对于“开源项目可持续性以及许可证决策对其社区的影响”的讨论。 这一变化将从 Redis 7.4 版本开始生效,我们预计多个 Linux 发行版将把 Redis 从它们的代码库中剔除。然而,这种干扰很可能是暂时的,因为已经有替代方案可供选择 - 比如由 Linux 基金会支持的开源替代品 Valkey。微软的 Garnet 也是一个选择,它是一个用 C# 编写的开源、速度更快的缓存存储,完全兼容 Redis 客户端。此外,像亚马逊这样的云服务提供商也可能会创建自己的 Redis 分支,就像他们在 Elastic Search 转向 SSPL 时的操作一样。 在此背景下,我想和大家聊聊对于这件事情的一些思考。 01.云端吞噬开源 开源软件虽然有着悠久的历史,但近年来开源业务模式发生了重大变革。 从传统来看,这种模式依赖于公司为使用开源软件时提供商业支持和企业级功能...

Monibuca v5 实现优雅内存分配器

背景 v4 中使用了链表存储了不同大小的内存块的方式进行内存池的实现(参考这篇v4内存复用机制),实际测试中发现内存浪费比较严重,因此如何设计出使用效率高,操作简洁的内存池就成了 v5 的一个任务。 使用 make 使用 go 原生的内存分配,意味着交给 GC 来回收,在m7s中测试发现gc 占据非常大的开销。 自定义内存分配 C 风格的内存分配 void * mem = malloc(100) free(mem) 这种分配方式最广为人知,也是最简洁易懂的,因此如果能实现这种方式,是最佳的。 设想一下 func (ma *MemoryAllocator) Malloc(size int) (memory []byte) { } func (ma *MemoryAllocator) Free(memory []byte) { } 问题:如何在 Free 的时候知道是哪块内存?如果把这个字节数组直接存储就会回到 v4 的版本,显然不是我们想要的。 我们想要的是在一块大的数组中切割分配,这样才能有效利用内存。 切片分配 假设有一个大数组,用来缓存内存,防止 GC var mem = make...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。