我是Google的Guava库的新手,对Guava的Caching包很感兴趣.目前我已经下载了10.0.1版.在查看文档之后,JUnit测试了源代码,甚至在广泛搜索谷歌之后,我仍然无法弄清楚如何使用缓存包.文档非常简短,好像它是为那些一直使用Guava库的人而不是像我这样的新手编写的.我只是希望有更多关于如何使用缓存包的现实世界的例子.
假设我想使用最近最少使用(LRU)驱逐方法构建10个非过期项目的缓存.所以从api中的示例中,我构建了如下代码:
Cache<String, String> mycache = CacheBuilder.newBuilder()
.maximumSize(10)
.build(
new CacheLoader<String, String>() {
public String load(String key) throws Exception {
return something; // ?????
}
});
Run Code Online (Sandbox Code Playgroud)
由于CacheLoader是必需的,我必须将它包含在CacheBuilder的构建方法中.但我不知道如何从mycache中返回正确的值.
要将项添加到mycache,我使用以下代码:
mycache.asMap().put("key123", "value123");
Run Code Online (Sandbox Code Playgroud)
要从mycache获取项目,我使用此方法:
mycache.get("key123")
Run Code Online (Sandbox Code Playgroud)
get方法将始终返回从CacheLoader的load方法返回的任何值,而不是从mycache获取值.有人可以告诉我我错过了什么吗?
我注意到我的Python - Pyramid设置有奇怪的行为.我已经成千上万次使用这种方法没有任何问题,但今天它拒绝与我合作.我一直在使用的命令是:
pserve development.ini --reload
Run Code Online (Sandbox Code Playgroud)
以前我能够修改代码或模板文件,并立即查看更改.现在,当我对代码进行一些更改时,即使是模板文件,在我点击浏览器刷新后,更改也不会反映出来.即使我重新启动了pserve,该页面仍将保留旧代码.出于绝望,我在我的项目文件中调用:
python setup.py install
Run Code Online (Sandbox Code Playgroud)
这一次,我可以看到我的变化,但我之前没有经历过这个麻烦.据我记忆,我没有对项目文件进行任何更改.也许别人做了,有没有人知道设置有什么问题?
有关如何浏览IMAP的好教程吗?例如,如何从gmail收件箱中获取20条最新邮件?
我正在尝试使用sort,但GMail Server似乎不支持此命令.