Plone 3.3.x
在一台服务器上,self.request.post.values()是unicode(正确).在另一台服务器上,它们是字节串.
到底是怎么回事?
Zope怪物的深度在哪里决定?为什么他们不同?为什么我在30岁之前失去所有头发?
我正致力于使用Spring 3和Hibernate 3.6开发Web应用程序.目前我试图了解如何使用Spring和Hibernate进行缓存.我找到了一些关于使用Hibernate缓存的消息来源以及一些关于Spring的消息,我现在尝试将我的信息结合在一起.我仍然对这两个框架都有一些问题,如果有人能够回答它们或告诉我这里列出的事实是否正确,我会很高兴.
大多数时候,简短的答案(是/否)就足够了.我认为这个列表对其他人也很有用,他们想要了解spring和hibernate的缓存是如何工作的.
General
1) Hibernate支持以下缓存:第一级缓存,第二级缓存,查询缓存
2) Spring本身支持以下缓存可能性:只是方法缓存
1st Level Cache
3)第一级缓存是每个Hibernate应用程序的一部分.
4)为每个休眠会话创建第一级缓存.
5)第一级缓存中保存了什么?对象或只是其属性的值?查询及其结果?
2nd Level Cache
6)我发现:每个应用程序使用ONCE二级缓存.那不是假的吗?是不是每次sessionfactory使用ONCE?和:多个sessionfactorys =多个第二级缓存可能吗?
7)在二级缓存中保存的内容:在我看来,只是属于一条记录的值,而不是对象本身.
8)当存储来自二级缓存中的一个记录的值时,它是否可以存储相关值(来自通过外键连接的对象)?
9)更新二级缓存中一个对象的值时,是否可以更新缓存中与其连接的对象的值?
10)当一个对象的值发生变化时,如何更新二级缓存?冲洗?我可以只更新缓存的一部分,还是必须更新整个缓存?
11)二级缓存在哪里有意义,哪里不存在?
12)缓存模式:每个缓存模式都提供不同的缓存策略吗?例如,对于缓存模式"只读",不需要同步数据库和缓存吗?其他缓存模式是否提供同步?我认为同步必须由开发者自己完成?
SessionFactory
13)查询缓存和二级缓存有什么区别?在我看来:在查询缓存中,结果集被保存,但没有使用它们的值,只有它们的ID.当再次使用查询并且结果集仍然"正确"时,将从二级缓存中查询属于id的值
14)对于查询缓存,必须使用二级缓存?
15)查询缓存哪里有意义,哪里不存在?
Query Cache
16) Spring是否提供了比方法缓存更多的缓存可能性?
17)方法缓存没有与hibernate缓存相关联
18)但是:对于方法缓存,第二级是必要的,比如ehcache(也可以被hibernate使用)
19)可以在没有数据库查询的情况下使用方法缓存吗?
Spring
20)如果使用ehcache作为二级缓存的hibernate和用于方法缓存的spring的ehcache,我可以使用相同的ehcache-instance吗?是否有可能混淆了什么?
21)当使用第一级缓存和第二级缓存时,它们会混淆吗?在查询数据库时,结果来自哪里,第一级或第二级缓存?第一级缓存是否与二级缓存一起使用?
22)其他任何可以通过使用我提到的缓存混淆的东西?:-)
谢谢你的回答,不管是什么问题!:-)
因为我使用$ _很多,我想更好地理解它的用法.就我所理解和使用它而言,$ _是隐含值的全局变量.
因为$ _似乎是设置的,除了可读性之外,有没有理由在$ _上使用命名循环变量?
在什么情况下,重要的是_ _是一个全局变量?
所以,如果我使用
for (@array){
print $_;
}
Run Code Online (Sandbox Code Playgroud)
甚至
print $_ for @array;
Run Code Online (Sandbox Code Playgroud)
它具有相同的效果
for my $var (@array){
print $var;
}
Run Code Online (Sandbox Code Playgroud)
但它的工作方式是否相同?我想这不完全是,但实际的差异是什么?
更新:
在这个例子中,似乎$ _甚至是正确的范围.它不再是全球性的吗?我正在使用5.12.3.
#!/usr/bin/perl
use strict;
use warnings;
my @array = qw/one two three four/;
my @other_array = qw/1 2 3 4/;
for (@array){
for (@other_array){
print $_;
}
print $_;
}
Run Code Online (Sandbox Code Playgroud)
正确打印1234one1234two1234three1234four.
对于全球$ _我本来预期1234 4 1234 4 1234 4 1234 4 ..或者我错过了一些明显的东西?
什么时候是$ _ global呢?
更新 …
我在我的android上创建了一个简单的MapActivity,并发现它的MapView无法放大到19级以上.放大按钮只是变灰了.调用zoomIn()方法也无效,级别仍然保持在19.
但是,当我启动官方Google地图应用程序时,地图的完全相同区域会成功将两个级别放大到21.
任何人都可以告诉我如何在我自己的应用程序中进一步放大?我是否缺少明确设置一些参数(manifest,mapactivity,mapcontroller)?到目前为止真的找不到它,并对此感到很困惑,看到了差异.
最近有人问过类似的问题,但也没有答案.
在PHP 5.3中有一个非常方便的函数idn_to_ascii(),但我运行5.2.17并且我无法改变它.我如何将Unicode域名编码为ascii呢?
我有一个javascript变量,它是一个querystring键值对的字典.我需要再次将此字典转换为查询字符串.我正在使用jquery.param功能,但它需要一个数组或一个对象.如何将我的dictinoary变量转换为jquery.params可以接受的数组/对象.
尝试使用serializeArray但它不起作用.
我希望LINQ查询结果在int类型变量中.
我有一个查询,它将始终返回单个int值.我想要那样的结果.
int interlineId = from cSInterline in codeShareInterline_.AsEnumerable()
where cSInterline.Field<int>("InterCodeId") == interCodeId[0]
select cSInterline.Field<int>("PermitedPercent");
Run Code Online (Sandbox Code Playgroud)
但它返回错误..
什么是简洁/优雅的方式放入相应条件为真的地图键值对?
那是翻译
[condition1 condition2 ...] [key1 val1 key2 val2 ...]
Run Code Online (Sandbox Code Playgroud)
要么
[condition1 condition2 ...] [key1 key2 ...] [val1 val2 ...]
Run Code Online (Sandbox Code Playgroud)
要么
[condition1 key1 val1 condition2 key2 val2...]
Run Code Online (Sandbox Code Playgroud)
成
{key-for-true-condition1 val-for-true-condition1, key-for-true-condition2 val-for-true-condition2...}
Run Code Online (Sandbox Code Playgroud)
我认为在其lambda中使用"if"和"if"但是对更简洁/美丽/优雅/惯用的方式感兴趣.
我是REST的新手.我正在阅读很多关于REST的文章.我仍然感到困惑,并且不知道我们何时应该使用REST而不是WCF传统服务的确切原因.
我有以下代码,我希望contains方法返回true,但它返回false:
var bounds = new google.maps.LatLngBounds(
new google.maps.LatLng(55.38942944437183, -2.7379201682812226),
new google.maps.LatLng(54.69726685890506, -1.2456105979687226)
);
var center = bounds.getCenter(); // (55.04334815163844, -1.9917653831249726)
var x = bounds.contains(center); // returns false
Run Code Online (Sandbox Code Playgroud)
在同一页面上,map是对Map对象的引用,以下代码按预期返回true:
map.getBounds().contains(map.getBounds().getCenter())
Run Code Online (Sandbox Code Playgroud)
为什么我的电话bounds.contains会回复假?