Как System Java кеширане (JCS) върши работа?

Преглед: В съвременната кеширане разработка на приложения е един от най-важните аспекти да бъдат разгледани по време на приложение проектиране. Най-честата цел кеширане е да се подобри производителността. Кеш може да бъде определена като сбор от предмети. Той съдържа Stateful обекти с ключове като уникални идентификатори. Най-честата съхранение за всеки кеширане система е в памет. Но кеширане система може да се съхранява елементи в диск, база данни или друга постоянна съхранение. Системата за Java кеширане (JCS) е разпределена рамка кеширане разработени в Java. Той подобрява работата на приложенията чрез предоставяне на подкрепа за управление на различни динамични кеширани data.JCS поддържа в памет и диск кеш. Рамката на JCS е напълно конфигурируеми чрез свойства на файлове и осигурява голяма гъвкавост при управление на кеша.

В тази статия ще обсъдим рамките JCS с работен пример.

Въвеждане: В повечето от уеб приложенията, данни се извличат от базата данни. Операцията за база данни е скъпо и отнема време. Сега на ден уеб приложенията са данни интензивно и първото време за реакция е основните критерии за нейния успех. Ако уеб приложението е често достъп до базата данни за всяка заявка след изпълнението му ще бъде бавно. Така уеб приложенията са следните различни техники за дизайн за намаляване на латентността пъти и увеличаване.

JCS е съставно разпределена система за кеширане, който работи на JDK 1.4 и горни версии. Изпълнението на JCS е много впечатляващо за ниско пут и високи приложения за четене.
Следват някои от основните характеристики на Java кеширане System
· Memory management
· Thread pool control
· Extensible framework
· Configurable runtime parameters
· Key based data retrieval
· Distributed composite cache
· Element event handling

JCS - The Composite кеша: В основата на Java кеширане система се основава на композитни кеш. Има четири вида кеш достъпни за всеки регион. Всякакъв вид на кеш може да бъде включен в конфигурацията JCS да стане активен. Следват четирите различни кешовете и техните детайли.

  • Кеш паметта (LRU): Това е най-широко използваният основен механизъм за кеширане. кеш памет е изключително бърз. Тя използва най-отдавна използваните (LRU) алгоритъм за управление на обекти, съхранявани в паметта. кеш памет LRU се основава на собствената си реализация LRU Карта. Това изпълнение на карта е много по-бързо в сравнение с изпълнението LRUMap или всякакъв друг вид карта.
  • Disk Cache (индексирани): Кешът за диск се използва за съхранение на данни, когато кеш паметта е пълна. Когато индексиране се използва с диск кеша, изпълнението много по-бързо. процес, основаващ се на опашка се използва за съхранение на данни върху диска. Кешът за диск е напълно конфигурируеми. A басейн конец се използва за управление на резбата на опашка за работници, които също правят процеса по-бърз.
  • JDBC Disk Cache: Това е друг вид на диск кеш, който е надеждна, бързо и пълно конфигуриране. Основният съхранение е JDBC съвместима база данни. Както ключове и стойности се съхраняват в базата данни. Данните се съхраняват като BLOB и с изтекъл срок на елементите на данните, също се отстраняват периодично. Тема басейн също може да се използва за управление на теми опашка на работниците за по-бърза обработка.
  • TCP Странично Cache: Това е механизъм, който да разпространявате кеширани данни за множество разпределени сървъри. Това също е напълно конфигурируеми система за кеширане. Тя също може да се използва UDP механизъм откритие, за да добавите възли, без да пречи на цялата система. В TCP Странично кеша установява връзки с гнездо сървъри на други възли и извършва управлението на съхранение. Един сървър е достатъчно, за да управлявате множество региони.
  • Дистанционно Cache използване RMI: Това е още една опция за кеширане, предоставена от JCS. В този механизъм всеки възел не се изисква, за да се свържете с друг възел. дистанционно кеш сървърът може да се използва като точка за връзка и всеки възел може да се свърже с него. дистанционно кеш сървърът се използва за провеждане на поредица версия на вашия обект. Отдалеченият сървър може да се групира с други сървъри за възстановяване при срив.

конфигурация Зависимост: В следващия раздел ще обсъдим просто приложение, с помощта на JCS. Преди да се премести в нея, ние трябва да притежава следните зависимости в CLASSPATH. Моля, изтеглете изпълнимите буркани и ги поставя в CLASSPATH за изграждане на заявлението.

  • JCS-1.3.jar
  • Commons-logging.jar
  • Commons-Lang-2.4.jar
  • jar

Работа с JCS: В този раздел ще обсъдим различните компоненти на Java кеширане система и данните за конфигуриране. Ние ще обясним всеки компонент с работен пример.

След един прост Служител клас холдингови детайли на служителите. Класът трябва да приложат Serializable интерфейс като данните се продължава. Тя съдържа методи кариерист / сетер за данни четене и писане.

Listing1: Показване на служителите клас

обществени клас Employee изпълнява java.io.Serializable{

лично име String;

частни String адрес;

частни String empid;

обществен служител(име String, String адрес, String empid) {

this.name = име;

this.address = адрес;

this.empid = empid;

}

общественото String getName() {

име на връщане;

}

обществени невалидни setName(име String) {

this.name = име;

}

общественото String getAddress() {

адрес за връщане;

}

обществени невалидни setAddress(String адрес) {

this.address = адрес;

}

общественото String getEmpid() {

върнете empid;

}

обществени невалидни setEmpid(String empid) {

this.empid = empid;

}

}

След е основният EmployeeManager клас, който внася JCS пакети да се използват рамковите APIs. Той използва кеш регион, известен като "EmpCache" да се сложи и да получите данни в / от паметта. Данните се съхраняват в кеш паметта с помощта на двойка ключ / стойност. Извличането се основава на ключ, свързан с всяка стойност. Заявлението се показва допълнение / извличане и премахване на обекти, съхранявани в кеша.

Listing2: Показване EmployeeManager клас

org.apache.jcs.JCS внос;

внос org.apache.jcs.access.exception.CacheException;

обществени клас EmployeeManager {

частния JCS кеш;

общественото EmployeeManager()

{

опитвам

{

// Заредете кеша

кеш = JCS.getInstance( “empCache” );

// Инициализиране на кеша, Тук данни могат да се зареждат по време на инициализация

cache.put( “123”, нов служител( “Nick”, “Detroit.USA”, “123” ) );

cache.put( “143”, нов служител( “Ric”, “Seattle.USA”, “143” ) );

cache.put( “153”, нов служител( “Jhon”, “Chicago.USA”, “153” ) );

cache.put( “163”, нов служител( “и”, “Houston.USA”, “163” ) );

}

улов( д CacheException )

{
e.printStackTrace();

}

}

обществени невалидни addEmployee( EMP Employee )

{

опитвам

{

cache.put( emp.getEmpid(), EMP );

}

улов( д CacheException )

{

e.printStackTrace();

}

}

Public Employee getEmployee( String empid )

{

return ( Служител )cache.get( EmpID );

}

обществени невалидни removeEmployee( String empid )

{

опитвам

{

cache.remove( EmpID );

}

улов( д CacheException )

{

e.printStackTrace();

}

}

публично статично невалидни основни( Низ[] опцията )

{

// Създаване на управителя на служител

EmployeeManager empManager = нов EmployeeManager();

// Добави служители на управителя на служител

/*empManager.addEmployee(нов служител(“файл1”, “Адрес 1”, “empid1”));

empManager.addEmployee(нов служител(“NAME2”, “Адрес2”, “empid2”));

empManager.addEmployee(нов служител(“NAME3”, “address3”, “empid3”));*/

// Вземете служител

Служител EMP = empManager.getEmployee(“123”);

System.out.println( “детайли на наети извлечени от кеша: ” + emp.getName()+”-“+emp.getAddress());

// Премахване на служител

empManager.removeEmployee(“123”);

// След отстраняване на служител

System.out.println( “детайли на служителите след отстраняване от кеша: ” + empManager.getEmployee(“123”) );

}

}

След е конфигурационният файл cache.ccf. Той притежава всички конфигурируеми параметри с техните стойности. В първата част е кеш региона по подразбиране, която държи стойностите по подразбиране. Ако не обичай регион е конфигуриран тогава тези стойности ще бъдат използвани. Вторият раздел е определяща кеш регион обичай, който е empCache here. Това определено стойности на персонализирания параметър. Последният раздел е ДОПЪЛНИТЕЛНО CACHE регион, който описва кеша на диска и други, свързани с параметрите.

Listing3: Показване на конфигурационен файл

# DEFAULT CACHE РЕГИОН

jcs.default = DC

jcs.default.cacheattributes = org.apache.jcs.engine.CompositeCacheAttributes

jcs.default.cacheattributes.MaxObjects = 1000

jcs.default.cacheattributes.MemoryCacheName = org.apache.jcs.engine.memory.lru.LRUMemoryCache

jcs.default.cacheattributes.UseMemoryShrinker = фалшива

jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds = 3600

jcs.default.cacheattributes.ShrinkerIntervalSeconds = 60

jcs.default.elementattributes = org.apache.jcs.engine.ElementAttributes

jcs.default.elementattributes.IsEternal = фалшива

jcs.default.elementattributes.MaxLifeSeconds = 21600

jcs.default.elementattributes.IdleTime = 1800

jcs.default.elementattributes.IsSpool = вярно

jcs.default.elementattributes.IsRemote = вярно

jcs.default.elementattributes.IsLateral = вярно

# Предварително дефинирани кеш РАЙОНИ

jcs.region.empCache = DC

jcs.region.empCache.cacheattributes = org.apache.jcs.engine.CompositeCacheAttributes

jcs.region.empCache.cacheattributes.MaxObjects = 1000

jcs.region.empCache.cacheattributes.MemoryCacheName = org.apache.jcs.engine.memory.lru.LRUMemoryCache

jcs.region.empCache.cacheattributes.UseMemoryShrinker = фалшива

jcs.region.empCache.cacheattributes.MaxMemoryIdleTimeSeconds = 3600

jcs.region.empCache.cacheattributes.ShrinkerIntervalSeconds = 60

jcs.region.empCache.cacheattributes.MaxSpoolPerRun = 500

jcs.region.empCache.elementattributes = org.apache.jcs.engine.ElementAttributes

jcs.region.empCache.elementattributes.IsEternal = фалшива

# НАЛИЧНИ ПОМОЩНИ кешира

jcs.auxiliary.DC = org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory

jcs.auxiliary.DC.attributes = org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes

jcs.auxiliary.DC.attributes.DiskPath = C:/темп

jcs.auxiliary.DC.attributes.MaxPurgatorySize = 10000000

jcs.auxiliary.DC.attributes.MaxKeySize = 1000000

jcs.auxiliary.DC.attributes.MaxRecycleBinSize = 5000

jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount = 300000

jcs.auxiliary.DC.attributes.ShutdownSpoolTimeLimit = 60

Заключение: В тази статия сме обсъждали за кеширане на концепции и един от най-популярните рамка кеширане известен като Java кеширане System. В статията също покрита различни компоненти на JCS и тяхното изпълнение. В крайна сметка ние сме обсъждали проба работещ например на базата на Java кеширане System рамка. The JCS е много мощен и написан на Java език. Механизмът за съхранение и неговия вътрешен дизайн са много мощен за високо четене и ниски приложения пут. Изпълнението е напълно конфигурируеми, така че може да се интегрира с всяка нова и съществуващо приложение, без да излагат много усилия.

Tagged on: ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share