好吧,我想我在这里有一个非常基本的疑问:
我正在开发基于GAE(Java)的应用程序,并对返回很多实体的数据存储区执行查询,因此需要对其进行缓存。我使用了内存缓存,并且运行良好,但是如果将实体列表保留在静态变量中,则整个请求的运行速度将比使用内存缓存快两倍。我认为这是因为我并没有一直对实体进行反序列化。
在memcache上使用静态变量代替的缺点是什么?我不知道云中是否可能有我的应用程序的多个实例,因此是否有我的静态变量的多个实例?
我要缓存的实体列表是上周的最佳(得分更高)帖子。我选择了该列表,然后随机选择5个帖子,并在几页中显示它们。
谢谢您的帮助!
随着用户点击应用引擎数量的增加,App
Engine可以通过创建新的应用实例来进行扩展。正如drudru所说,不同的实例可能会为不同的用户提供服务。通常,memcache是存储要全局保持一致的东西的最快位置。但是,根据您的情况,可能还有一些改进的余地。
您提到您有一个帖子列表,并且随机选择5个向用户显示。2个不同的用户看到5个不同的集合是否有关系?如果您还是选择随机的,也许没关系。然后,您可以将完整的帖子列表存储在内存缓存中,然后从内存缓存中拉出5个随机帖子,并将其存储在静态变量中。
其次,您到底在做什么,又如何将其取出?您是否将一堆完整的帖子存储在内存缓存中,将它们全部收集,然后选择5个?也许您可以只下载帖子列表,选择5个,只获得所需的5个?如果您认为反序列化使您减速,则可能会有所帮助。收到帖子后,您是否要对其进行任何处理?如果是这样,是否可以缓存该处理的结果?
问题内容: 我正在通过简单的界面在我的Rails 3应用程序中使用memcached进行一些缓存,现在我想使用redis和resque进行一些后台作业处理。 我认为它们的区别足以保证两者都使用。但是在heroku上,使用memcached和Redis需另外付费。两者都使用是否有意义,还是应该只使用Redis迁移? 我喜欢使用memcached进行缓存,因为最近最少使用的键会自动从缓存中推出,并且我
问题内容: 在Java中,有人教导说应该对变量进行私有化以实现更好的封装,但是静态常量呢?这个: 结果将等同于此: 但是哪种更好的做法? 问题答案: 有一个原因不直接在代码中使用常量。 假设FOO稍后可能会更改(但仍保持不变)。只要没有人愚蠢到直接对值进行硬编码就不会破坏任何内容吗? 否。Java编译器会将上面的Foo等常量内联到调用代码中,即变成。现在,如果您重新编译库而不是重新编译调用代码,则
问题内容: 我想使用C程序来获取网络接口的IP是手动设置还是通过dhcp设置。 我尝试使用以下代码,并且它在Debian中有效,但在OpenWrt中却无效。我想知道如何在OpenWrt中编写一个C程序来执行此操作。我试图用这个: 这段代码在Debian中工作,但是在OpenWrt中却不能正常工作,所以我想知道如何编写程序来获得相同的结果。 问题答案: 对于 OpenWRT, 您可以使用以下命令获取
问题内容: 在T-SQL中分配变量时,和语句之间有什么区别? 问题答案: Quote,本文总结如下: SET是用于变量分配的ANSI标准,而SELECT不是。 SET一次只能分配一个变量,SELECT可以一次进行多个分配。 3. 如果从查询分配,SET只能分配标量值。如果查询返回多个值/行,则SET将引发错误。SELECT会将值之一分配给变量,并隐藏返回了多个值的事实(因此您很可能永远都不知道为什
问题内容: 我习惯在所有程序中广泛使用 静态变量 ,尤其是在使用Android时。我倾向于使用它们,因为有时 通过Intents发送10个或更多的值 会很 麻烦 。因此,我只是将 它们声明为静态 变量,并通过使用“点”运算符轻松地在其他类中访问它们。使用静态变量的另一个原因是当我要在整个应用程序中使用 Utility类时 。就像我在下面给出的代码一样,它可以帮助我 在不同的活动中使用变量 。 Ut
我不断得到关于浮点数(即、或)是否有一个且只有一个精度值的混合答案,或者具有可以变化的精度值。 一个名为浮点与双精度的主题似乎暗示浮点精度是绝对精度。 然而,另一个被称为浮点和双精度之间的差异的主题说, 一般来说,双精度有15到16位十进制数字 另一位消息人士说, 浮点型变量的精度通常约为7位有效数字 double类型的变量通常具有约16位有效数字的精度 如果我使用的是敏感代码,当我的值不精确时,