擅长:python、mysql、java
<p>道格对redis的建议很好,但我认为他的代码有点复杂,因此相当慢。为了达到我的目的,我必须序列化+写入,然后在不到十分之一秒的时间内抓取+反序列化一个大约一百万个浮点的平方矩阵,所以我这样做了:</p>
<p>写作:</p>
<pre><code>snapshot = np.random.randn(1024,1024)
serialized = snapshot.tobytes()
rs.set('snapshot_key', serialized)
</code></pre>
<p>然后读:</p>
<pre><code>s = rs.get('snapshot_key')
deserialized = np.frombuffer(s).astype(np.float32)
rank = np.sqrt(deserialized.size).astype(int)
snap = deserialized(rank, rank)
</code></pre>
<p>您可以使用ipython使用%time进行一些基本的性能测试,但是tobytes或frombuffer都不需要超过几毫秒的时间。</p>