вертикальные бд нужны для быстрого доступа к таблицам, в которых мало INSERT и много SELECT. я прав? к примеру для хранения названия города и его координаты, оч удобно наверное. Но как же быть с остальными? тем более для быстрой выборки на сколько я знаю при сложных запросах можно использовать к примеру OLAP, пространственную бд. О каком закате эры реляциооных бд может быть после 2D транспанирования? согласен с multic
оч удобная штука. вчера передавал заказчику via skype апликуху размером в 24 Мбт — мы ждали 14 минут). с данным сервисом те же операции заняли существенно меньше по времени — аплоад 78 сек, скачивание 38 при том же коннекте, более чем в 7 раз быстрее)
вы привели пример JSR107 JCACHE реализации open-source ehcache модуля от Terracota. в вашем примере используется кеширование POJO. Смысл этого всего в том что кешировать можно объекты любого неординарного типа и существует довольно таки много настроек для Ehcache, реализованных via Spring as IoC container, только и всего
Среди прочих библиотек есть ehcache.sourceforge.net/
Легко встраивается в Spring IoC Container через установку Ehcache manager.
Конфигурится через ehcache.xml (максимальное число элементов в памяти, максимальное число элементов на диске, путь куда сохранять, время жизни, частота обновления — основные атрибуты).
<encache...>
<defaultCache .../>
<cache name=«engroupCache»...>
В Spring context добавляется 2 бина, первый это менеджер кеша, но не org.springmodules.cache.provider.jsr107.Jsr107CacheManagerFactoryBean а org.springframework.cache.ehcache.EhCacheManagerFactoryBean, где configLocation атрибут равен classpath:ehcache.xml, а второй это cacheProviderFacade, класса org.springmodules.cache.provider.ehcache.EhCacheFacade (где name=cacheManager ref=cacheManager).
@RunWith(EngroupClassRunner.class)
@ContextConfiguration(locations = { "/META-INF/spring/cache-context.xml" })
public class CacheTest {
@Autowired
protected CacheProviderFacade cacheProviderFacade;
@Test
public void testCacheConfiguration() {
Assert.assertNotNull(cacheProviderFacade);
EhCacheCachingModel model = new EhCacheCachingModel();
model.setCacheName("engroupCache");
cacheProviderFacade.putInCache("a", model, new Integer(1));
Integer fromCache = (Integer) cacheProviderFacade.getFromCache("a",
model);
Assert.assertEquals(new Integer(1), fromCache);
}
}
…
public class EhCacheCachingModel implements CachingModel {...}
Легко встраивается в Spring IoC Container через установку Ehcache manager.
Конфигурится через ehcache.xml (максимальное число элементов в памяти, максимальное число элементов на диске, путь куда сохранять, время жизни, частота обновления — основные атрибуты).
<encache...>
<defaultCache .../>
<cache name=«engroupCache»...>
В Spring context добавляется 2 бина, первый это менеджер кеша, но не org.springmodules.cache.provider.jsr107.Jsr107CacheManagerFactoryBean а org.springframework.cache.ehcache.EhCacheManagerFactoryBean, где configLocation атрибут равен classpath:ehcache.xml, а второй это cacheProviderFacade, класса org.springmodules.cache.provider.ehcache.EhCacheFacade (где name=cacheManager ref=cacheManager).
https://springmodules.dev.java.net/. — 10 минут для общего развития
Spring context:
<pre lang=«xml» xml:space=«preserve» xml:lang=«xml»>
<bean id=«cacheProviderFacade»
class=«org.springmodules.cache.provider.ehcache.EhCacheFacade»>
/>
encache.xml