问题标签 [in-memory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - 如何创建一个 WPF 图像控件,该控件从我读入内存的 JPEG 中获取其数据?
对于我的应用程序中的图像,我一直在将source
图像的属性设置为磁盘上的 JPEG 文件,但作为下一次迭代的一部分,我想测试将它们保存在内存中以提高速度。
如何告诉 WPF Image 控件从内存源而不是文件中获取其信息?
c# - 将内存中的 BMP 转换为 PNG,以便在 .Net 中粘贴剪贴板
这个类似问题的答案都需要保存文件。但是,我正在尝试转换文件,然后将其复制到剪贴板。
如何将位图(或任何图像)转换为 PNG 而不将其保存到文件系统?
更新:
我正在尝试将图像粘贴到应用程序中(在本例中为 Evernote)。当您将图像复制到剪贴板(例如通过浏览器)时,它会记住其图像格式,当您将其粘贴到剪贴板时,它将创建具有相同格式的图像。例如,如果您复制 PNG,它将粘贴 PNG。如果您复制 JPG,它将粘贴 JPG 等。
我正在尝试获取剪贴板中当前的任何图像,将其缩放到我想要的大小,然后将其作为 PNG 保存在剪贴板中,这样当它粘贴到 Evernote 时,它将创建一个 PNG。
当我在浏览器中复制 PNG 图像时,我看到以下格式:HTML FORMAT
, CF_BITMAP
, CF_DIB
, CF_DIBV5
. 我不确定哪些 Evernote 用于粘贴。我的印象是CF_BITMAP
,但在阅读了下面的评论后,我猜它使用的是其他格式之一。
如何将图像放置在剪贴板中,粘贴时将被视为 PNG?
caching - 数据集的内存缓存
我计划对我的数据进行一些内存缓存,以便在我的 Web 服务中进行操作。该数据基本上是不经常更改的查找值。我计划在数据集(多个表)中获取所有数据并将它们存储到数据库端的数据不变。之所以如此,是因为我的一些数据永远不会改变,而其中一些可能会非常频繁地改变。任何想法?
unit-testing - 有没有一个像 DB2 一样好的内存数据库
我目前正在使用 DB2 进行单元测试,但有时速度很慢。我需要一个好的内存数据库,它包含 DB2 的所有特性。这种类型的内存数据库是否存在,或者它们只允许标准 SQL 功能?
谢谢你。
编辑 DB2 数据库位于远程服务器上,因此我需要一种解决方案来将该数据库的模式复制到本地内存数据库中以加快测试速度。
.net - 寻找分布式、内存中的 Graph DB
是否有一个数据库可以满足所有(或至少大部分)这些要求?
- 面向图 - 针对存储图和遍历进行了优化(例如 HyperGraphDB、Neo4j)
- 在内存中运行,但具有持久存储(例如 Redis)
- 分布式(例如 membase)
- 有 .NET 适配器(TCP/IP,不是 HTTP REST)
还是我要求太多了?
提前致谢。
sql - 是否有支持复制/集群的内存 SQL 数据库?
免费和稳定是赢家。
我的计划很简单——只需将所有数据放在内存中并使用集群而不更改应用程序代码。然后,为了持久性,我可以将节点中的数据转储到常规磁盘访问数据库中。
唯一的问题是,由于我需要内存存储,因此不可能进行完整的数据复制。我只想复制数据库模式,并且内存数据库为我一致地管理所有连接。
先感谢您!
更新:我找到了一个可能满足我要求的开源产品,它是VoltDB
algorithm - 算法:大量非常稀疏的位数组,使用哪种编码
我有特殊需要,最重要的问题是:
- 在记忆中
- 非常低的内存占用
- 速度
这是我的“问题”:我需要在内存中存储大量非常稀疏的位数组。这些位集是“仅附加”的,主要用于交叉路口。巨大的,我的意思是高达 200 000 位数组。
每个位集的范围应在 [0...16 000 000] 之间。
我使用“仅”包含一些实际数据的 10 673 位数组进行了一些预测试,得到了以下结果:
看到所涉及的数字,我显然需要使用压缩位数组,这不是问题:看到位数组是“仅附加”的,它应该很容易处理。
打开的位数组位有点分组,但不完全。所以你会倾向于在同一个区域有几个位(但通常不是一个接一个,这使得 RLE 不太适合那些打开的位)。
我的问题是使用什么样的压缩?
现在我不知道我应该把我的第一种方法放在这里还是回答我自己的问题。
基本上我想象了一个使用非常愚蠢的编码的“最坏情况”场景:
1 位:如果打开,接下来的 5 位确定需要多少位来计算“跳过”,如果关闭,则优化:接下来的 5 位确定需要多少位(即 'on' 或 'off ',不跳过)[只有在确定比其他表示更有效时才会切换到,所以当它启动时,它应该始终是优化(大小方面)]
5 位:在下一位之前我们可以跳过多少位
x位:跳过
这是一个示例:一个位数组有 3 个位集,第一个位在 3 098 137,第二个在 3 098 141,第三个在 3 098 143。
第一个位告诉我们要跳过位。5 下一位(总是 5)告诉我们需要多少位,告诉我们将跳过多少位 22 位告诉跳到 3 098 137 一位告诉现在我们没有跳过位 5 下一位(总是 5)告诉我们将“按原样”读取多少位 6 位:关闭、关闭、关闭、开启、关闭、开启意味着 3 098 141 和 3 098 143 开启等。
看到这些位数组惊人的稀疏性,这似乎非常节省大小。
所以使用这种编码,我获取了我的样本数据并计算了一个“最坏情况”的场景(我还没有编写算法,我宁愿先从这里输入一些):基本上我认为不仅“大小优化”永远不会启动,而且 5 位将始终设置为其最大值(24 位),这当然不会发生。
我这样做只是为了对“最坏中的最坏”情况有一个非常粗略的近似。
我非常惊喜:
数据是实际数据并且所有数据都相似,我知道,如果情况变得更糟,我可以将我的 200 000 位数组存储在大约 240 MB 中,这很好。
我很确定实际的编码会比这少,但由于我还没有真正编写它,我只能(非常容易地)计算“最坏情况”,这就是为什么我只显示那个。
关于如何提高尺寸效率的任何提示/想法(记住这些是超稀疏位数组,应该有数十万个,它们必须在内存中,并且它们应该“仅附加”) ?
关于我的“仅附加”案例
基本上我有一个不断增长的“扩展”(范围,但“扩展”是我理解的实际术语)和许多具有一些位集的位数组。当范围从 0 到 1 000 000 时,所有位数组都从 0 到 1 000 000 到。当范围增长到 1 000 001 时,所有位数组也在增长,全部增长一位。但是大多数这些位数组的末尾会附加一个“0”,而大约 4 到 8 个位数组的末尾会附加一个“1”。但是,我无法提前预测哪些位数组将附加 0 或 1。
所以我有很多大小相同的位数组,它们都非常稀疏(< 0.5% 的位集)并且随着范围的增长而“增长”(所以它们总是在增长以同样的速度)。
Judy 数组很棒。但几年前我读到了它们,这些东西“在我头上”。Judy 数组是一个仅限 C 语言的 20KLOC 库,我绝对不会重新实现它。但他们太棒了。
所以我想我需要补充一下,我希望所有这些都保持相对简单,这并不是牵强附会,因为我非常稀疏的位数组的特殊“仅附加”属性。
r - 有没有办法在 R 中读写内存文件?
我正在尝试使用 R 分析大型 DNA 序列文件(fastq 文件,每个文件数 GB),但这些文件的标准 R 接口(ShortRead)必须一次读取整个文件。这不适合内存,因此会导致错误。有什么方法可以一次读取几(千)行,将它们填充到内存文件中,然后使用 ShortRead 从该内存文件中读取?
我正在为 R 寻找类似 Perl 的 IO::Scalar 的东西。
windows - 适用于企业的 Windows 内存缓存
你知道在 Windows 中用于企业的任何 memcached 类似物吗?任何商业内存缓存系统?
java - Java内存文件结构?
我需要对资源做很多事情:解析 xsd/xml 文档,构建和编译 java 类,将它们打包到 jar 和 wars 中,保存在 DB 中,将它们部署为 OSGi 等。
我使用的大多数库/API 都允许在内存中执行所有这些中间任务,但也有一些“特殊”库java.io.File
只能使用。除了使用在 Java EE 环境中不好的真正临时文件和目录之外,我什么都没有了。
我相信必须有一个用于具有节点扩展的内存文件结构的库/解决方案java.io.File
(如我所见)。请放入已知/类似库的链接。欢迎任何意见。
谢谢!