我在UITableView上遇到了一个非常奇怪的问题.我有一些不同的单元格,我想在类似新闻源的表视图上显示.
我重用后我的细胞有问题.单元格包含两个图像,两个标签和一个带共享/喜欢/注释按钮的视图.我会尝试绘制它,但我不确定它会漂亮:
-------------------------------------------------
| | __ ____________________________ |
| | |_2| | | |
| | | 3 | |
| | | | |
| 1 | |____________________________| |
| | |
| |_______________________________________|
| | |
| | 4 |
|_______|_______________________________________|
| |
| 5 |
|_______________________________________________|
1 : objectImage
2 : subjectImage
3 : titleLabel
4 : commentLabel
5 : actionsView
Run Code Online (Sandbox Code Playgroud)
我的约束是:
"H:|-0-[objectImage(60)]-7-[subjectImage(30)]-7-[titleLabel]-7-|"
"H:|-0-[objectImage(60)]-0-[commentLabel]-0-|"
"H:|-0-[actionsView]-0-|"
"V:|-0-[objectImage(>=35)]-0-[actionsView(44)]-0-|"
"V:|-7-[subjectImage(30)]"
"V:|-7-[titleLabel(>=46)]-7-[commentLabel(>=35)]-0-[actionsView(44)]-0-|"
Run Code Online (Sandbox Code Playgroud)
每次绘制单元格时,我都会更改此约束:
"V:[commentLabel(%0.2f)]"
Run Code Online (Sandbox Code Playgroud)
细胞第一次完美展示.
但是,我遇到的问题是,在某些时候,经过一些重用(我不能每次都重现它),应用程序因为一个约束问题而崩溃.这是一个例外:
"<NSLayoutConstraint:0x205a75b0 V:[UILabel:0x1ef31430(105)]>",
"<NSLayoutConstraint:0x1ef34440 V:[UILabel:0x1ef31430]-(0)-[UIView:0x1ef2fe50]>",
"<NSLayoutConstraint:0x1ef34380 …Run Code Online (Sandbox Code Playgroud) 昨天我的服务器上有很大的负载,即使我之前曾在优化性能(我2个月前遇到类似的问题),我的服务器无法处理负载(我的服务大约有50个)每分钟帐户创建).
最后,我的服务器处理了负载,因为我更改了实例:我在Amazon EC2上,而我正在使用具有20个微实例的负载均衡器.这还不够.我终于改成了10个大型实例,这没关系.但是,你知道,大型实例有点贵,而且我不能承受这么多大型实例(现在,因为负载较少,我只"运行"5个大型实例,但它也太多了).
所以,我仍然在进行优化和服务器配置,但我仍然坚持一点.
到目前为止,我正在使用symfony和memcached.它运行正常,应缓存的所有内容都被缓存,等等.
现在,我想在我的apache web服务器前面添加一个Varnish.
我这样做了,我配置了它 - 我想 - 好吧,它现在正在运行.问题是缓存没有命中.
从我看到的,问题是symfony发送的HTTP标头未正确设置.例如,对于缓存的请求,我有以下标头:
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Run Code Online (Sandbox Code Playgroud)
模块已正确配置为使用缓存等,但我无法找到可以设置正确HTTP标头的位置.我知道如何在symfony中为特定操作设置缓存头,但显然,我不想在每个操作上都这样做(顺便说一下,即使我这样做了,我认为这不是正确的方法) .
所以我问如何在symfony 1.4中使用Varnish.从我看到的,有两种可能性:
你知道我怎么能解决其中一个问题?
谢谢,
注意:我在Varnish3上
apache ×1
autolayout ×1
http-headers ×1
ios ×1
php ×1
symfony-1.4 ×1
uitableview ×1
varnish ×1