Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> file cache system for Java, надо строить кеширование файлов 
:(
    Опции темы
Sleepy_PIP
Дата 24.8.2010, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: 4
Всего: 12



Доброго времени суток!
Помню вроде-бы обсуждалась проблемма систем кеширования вообще и файлового кеширования в данной конференции, но не нашел поиском. Так что если не прав - прошу модераторов извинить!

Проблемма стоит в создании файлового кеша для алгоритмов на java. все вроде просто но это не так.
ну первое - произвел опять обзор систем имеющих отношение к кешированию информации для java.
тут наверное наиболее удобно все собрано:
ссылка

что характерно - ничего подобного на именно специализированный именно файловый кеш не наблюдается в инете.

начал пока медленно соображать как-ж заточить имеющееся для именно файлового кеширования. и понял что пока никак не понимаю пути решения проблеммы.
Ну для начала остановился на JCS
JCS

системка (если она рабочая) - как раз то что мне и надо - и в памяти кешит и может при ее недостатке использовать доп. регионы которые физически могут являться местом на отдельном диске.
а вот что дальше?
JCS по большому счету (как и прочие) работает с объектами, тоесть кеширование именно объектное. очень хорошо что расчитано и на многопоточность.
Файловый интерфейс хочется аналогичный java.io. тоесть и последовательный и произвольный доступ.
И вот тут то я и просел. что собственно то кешировать? - ну первое что приходит в мозги - блоки. причем наверное они должны для начала быть одинакового размера. да оверхед по использованию ресурсов, зато быстрее.
Далее начинаем соображать - файл как сущность должен чем-то описываться, и к этой сущности надо цеплять список блоков этого самого файла, и часть блоков может быть закеширована (т.е. как объект сохранена с использованием JCS в кеше).
Но при этом - 
1. никак не решу что должно служить индексом-ключем однозначно идентифицирущим объект в кеше при доступе к конкретному файлу  (к конкретному его байту).
2. никак не пойму - что - все интерфейсы java.io прийдется фактически переписать? (ну нужные ), т.е. фактически построить не надстройку а полностъю с боку новую систему работы с файлами?

тоесть пока получается не представляю толком переход от уровня файла (как совокупности байтиков имеющих нечто общее) к сущности объект, хранящийся в собствено объектном кеше ...

1.как-бы Вы подошли к решению подобной проблеммы?
2. а может быть есть таки файловые кеш-системф для java? 
3. а с JCS кто нито работал? - оно действительно рабочее?

строить самостоятельную хорошую систему кеширования честно говоря слабо да и не входит в планы ...

Спасибо!




--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
COVD
Дата 24.8.2010, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Есть понятие коллекция - List , Map. Они используются для хранения обьектов в памяти. Это уже простейший кеш. 

Системы кеширования, перечисленные в ссылке, это обычно Map +  персистенс, т.е. встроенная возможность сохранения обьектов коллекции в файле, базе данных, или на другом компьютере. Таким образом, редко используемые обьекты или обьекты, срок хранения которых истек, автоматически удаляются из Map'а (т.е. из памяти). Удаляются навсегда или только из памяти и позднее могут быть автоматически восстановлены. Все определяется настройками. 

Работа с кеш системой не отличается от работы с Map (выбор ключей, get , put ..). Обычно необходимо только указать параметры хранилища (если требуется персистенс) и политику удаления\сохранения обьектов. Обьекты должны быть сериалайзабл. 

Это сообщение отредактировал(а) COVD - 24.8.2010, 22:59
PM MAIL   Вверх
Sleepy_PIP
Дата 25.8.2010, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: 4
Всего: 12



наверное тем кто интересуется данными вопросами будет интересно что раскопал:

ehcache.org

Safety
Thread safe for use by multiple concurrent threads.
Tested formemory leaks. SeeMemoryCacheTest#testMemoryLeak. This test passes for Ehcache
but exploits a number of memory leaks in JCS. JCS will give an OutOfMemory error with a
default 64M in 10 seconds.


интересно - это действительно так? (JCS will give an OutOfMemory error with a
default 64M in 10 seconds.)


--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
COVD
Дата 25.8.2010, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Конкурентам свойственно постоянно выискивать друг у друга баги. Ehcache -  популярная система.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.