![]() |
1
15
这非常容易测试:
现在只需尝试
因此,我们可以得出这样的结论:如果缓存键已经存在,则不会发生分配。 以下是红宝石的提取物 shows 这就是 按设计 并且不应依赖于Ruby实现:
在同一个文件中,有一个类似的规范
尽管Rubyspec仍在进行中,但很明显,主要的Ruby实现项目打算遵守它。 |
![]() |
2
7
扩展到
或者,在一般情况下
(我正在使用)
扩展到:
所以,根据规范,
所以,很明显,要么规范是错误的,要么当前发布的五个实现都是错误的。由于规范的目的是描述现有实现的行为,很明显规范一定是错误的。 一般来说,作为第一近似值
扩展到
但是,有各种各样的转租,例如,无论是否
另请参阅此问题的其他一些实例,这些实例在StackOverflow(例如, this one )而且,这个问题在Ruby Talk邮件列表中讨论了很多次,现在有 discussion threads 其唯一目的是总结其他讨论主题。(尽管请注意,该列表还远远不够完整。) |
![]() |
3
1
下面是另一个与其他答案稍有不同的演示,它明确地显示了散列何时被写入:
通过比较:
|
![]() |
4
0
等于
(相当于
换句话说:是的,
|
![]() |
5
0
[我删除了比其他人更不准确的例子。我把答案留给了一些人可能感兴趣的基准点。我的观点是: 所以基本上
是一样的
我更赞成第一种语法,但接下来由您决定,因为在这种情况下,可读性有点降低。 我很好奇,所以这里有一些基准:
|
![]() |
786543214 · Memcached:等待值的超时:等待10000毫秒。节点状态:连接状态ip:port active:true,authed:true,上次读取时间:7060231ms前 2 年前 |
![]() |
Xceptions · Google云正在缓存我的静态文件 7 年前 |
![]() |
Thread7 · memcache出错 7 年前 |
![]() |
Nick M · Rails/Dalli:从另一个命名空间终止片段 7 年前 |
![]() |
ctor · 有限时间存储数据:memcache与mysql 8 年前 |