Nola Java Caching System (JCS) lanak?

Orokorra: moderno aplikazioak garatzeko katxeak horretan alderdi garrantzitsuenetako bat aplikazio diseinu garaian aintzat hartu beharreko da. katxeak helburua ohikoena da errendimendua hobetzeko. Cachea beharreko objektuen bilduma bat bezala definitu daiteke. gakoak identifikadore bakar gisa stateful objektuak biltzen ditu. Bat katxeak sistema biltegiratze Ohikoena memorian da. Baina katxeak sistema ere gorde daiteke diskoan elementu, datu-basea edo beste edozein biltegiratze iraunkorrak. Java Caching Sistema (JCS) Java garatu banatzen katxeak esparru bat. Aplikazio errendimendua dinamikoa hainbat cached data.JCS kudeatzeko laguntza eskainiz memoria eta disko cacheak ere onartzen hobetzen du. JCS esparru propietate fitxategia bidez guztiz konfiguragarria da eta malgutasuna asko eskaintzen cache kudeaketan.

Artikulu honetan JCS lanean adibidez esparru hitz egingo dut.

Sarrera: Web aplikazio gehienetan, Datu da datu-basetik berreskuratu. database eragiketa garestia da eta denbora kontsumitzen. Orain, egun bat web aplikazioen datuak erantzuteko denbora intentsiboa eta lehen bere arrakastaren oinarrizko irizpideak da. web aplikazioa da maiz, datu-basera bada eskaera bakoitzerako ondoren, bere performance motela izango da. Beraz, web aplikazioen diseinu teknika desberdinak dira ondorengo latentzia aldiz murrizteko eta eskalatzeko ireki.

JCS composite banatzen katxeak sistema bat JDK lan egiten da 1.4 eta goiko bertsioak. JCS errendimendua oso altua jarri eta irakurrita handiko aplikazio ikusgarria da.
Honako hauek dira Java Caching Sistema horren ezaugarri nagusietako batzuk
· Memory management
· Thread pool control
· Extensible framework
· Configurable runtime parameters
· Key based data retrieval
· Distributed composite cache
· Element event handling

JCS - Composite cachea: Java Caching System fundazioa cache composite oinarrituta dago. Badira lau caches mota eskualdez eskuragarri. cache mota edozein izango du JCS konfigurazioa da aktiboa egiteko entxufatuta dezake. Hurrengo lau caches ezberdinak eta bere datuak dira.

  • Memoria Cache (LRU): Hau erabiliena oinarrizko katxeak mekanismoa da. memoria cachea oso azkarra da. Erabiltzen Gutxienez Duela gutxi erabilita (LRU) Algoritmo memorian gordetako objektuak kudeatzeko. The LRU memoria cache bere LRU Map ezartzeko egin oinarrituta dago. Mapa ezartzeko hau askoz azkarragoa da aldean LRUMap ezartzeko edo Map of beste motatako.
  • Disk Cache (Indexatua): Diskoaren cachea datuak gordetzeko erabiltzen denean memoria cache bete da. Noiz indexatzeko diska cache batera erabiltzen da, errendimendua askoz azkarrago. Queue oinarritutako prozesu diskoan datuak gordetzeko erabiltzen. diska cache guztiz konfiguragarria da. haria igerilekua A ilaran hari langileak horrek ere prozesua azkarrago kudeatzeko erabiltzen da.
  • JDBC Disko Cache: Hau zein da fidagarria diska cache mota bat da, azkar eta guztiz konfiguragarria. oinarrizko biltegia JDBC datu-basean bateragarri da. Biak gakoak eta balioak dira datu-basean gordetzen. Datuak BLOB gisa gordetzen da eta iraungitako datuak elementu ere aldizka kendu dira. Thread igerilekua ilaran hari langileak kudeatzeko prozesatzeko azkarrago egiteko ere erabil daiteke.
  • TCP Alboko Cache: Hau mekanismo bat anitz banatu zerbitzarietan datu cached banatu da. Hau da, era guztiz konfiguragarria katxeak sistema. ere erabili ahal izango da, UDP aurkikuntza mekanismo nodoak gehitzeko sistema osoa aldatu gabe. The TCP Alboko Cache socket beste nodo zerbitzari batera konexioak ezartzen eta biltegiratze kudeaketa burutzen. zerbitzari bat nahikoa da anitz eskualde kudeatzeko.
  • Urruneko Cache RMI erabiliz: Hau beste katxeak aukera JCS emandako da. Mekanismo honetan nodo bakoitzean ez da beharrezkoa beste nodo batera konektatu. Urruneko cache zerbitzari konexio puntu gisa erabili ahal izango dira, eta nodo bakoitzak berarekin konektatu ahal. Urruneko cache zerbitzari zure objektu bertsio Serieko bat gordetzeko erabiltzen da. Urruneko zerbitzaria den beste zerbitzari failover berreskuratzeko bil daitezke.

Dependentzia konfigurazioa: Hurrengo atalean aplikazio sinple bat JCS erabiliz hitz egingo dugu. higitzea aurretik, Hurrengo Classpath batean mendekotasunak izan behar dugu. Mesedez deskargatu poteak exekutagarria eta jartzea Classpath aplikazioen eraikitzeko.

  • JCS-1.3.jar
  • commons-logging.jar
  • commons-lang-2.4.jar
  • jar

JCS lan egitea: Atal honetan Java Caching System osagaiak eta konfigurazio xehetasunak azaltzen dira,. lanean adibidez osagai bakoitza azalduko ditugu.

Jarraitzen sinple bat da Langilearen Klase holding langile xehetasunak. Klase ezartzeko behar Serializable interface bere datu gisa iraun egingo. getter / setter irakurtzeko eta idazteko datuak metodoak dauka.

Listing1: Langilearen class erakustea

Klase publiko Langilearen inplementatzen java.io.Serializable{

String pribatuaren izen;

String pribatua helbidea;

String pribatua empid;

Langilearen publikoa(Kate izena, String helbidea, String empid) {

this.name = name;

this.address = helbidea;

this.empid = empid;

}

publiko String getName() {

bueltan name;

}

void setName publikoa(Kate izena) {

this.name = name;

}

publiko String getAddress() {

bueltan helbidea;

}

void setAddress publikoa(String helbidea) {

this.address = helbidea;

}

publiko String getEmpid() {

itzuli empid;

}

void setEmpid publikoa(String empid) {

this.empid = empid;

}

}

Jarraian nagusia EmployeeManager Klase inportatuko JCS paketeak esparru APIak erabiltzeko. bezala ezagutzen cache eskualde bat erabiltzen da, 'EmpCache' jarri eta data / sartu oroimenetik. Datuak cache memorian gordetzen den gako / balio bikotea erabiliz. berreskuratze The balio bakoitzari lotutako giltza oinarrituta dago. Aplikazioa Horrez / berreskuratze eta kentzea cache batean gordetako objektuak erakusten.

Listing2: EmployeeManager class erakustea

import org.apache.jcs.JCS;

import org.apache.jcs.access.exception.CacheException;

Klase publiko EmployeeManager {

pribatua JCS cache;

EmployeeManager publikoa()

{

saiatu

{

// Kargatu cachea

cache = JCS.getInstance( “empCache” );

// Hasieratu cachea, Hemen datuak abiarazi bitartean kargatu ahal

cache.put( “123”, Langilearen berria( “Nick”, “Detroit.USA”, “123” ) );

cache.put( “143”, Langilearen berria( “Ric”, “Seattle.USA”, “143” ) );

cache.put( “153”, Langilearen berria( “Jhon”, “Chicago.USA”, “153” ) );

cache.put( “163”, Langilearen berria( “eta”, “Houston.USA”, “163” ) );

}

harrapatzeko( e CacheException )

{
e.printStackTrace();

}

}

void addEmployee publikoa( Langilearen EMP )

{

saiatu

{

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

}

harrapatzeko( e CacheException )

{

e.printStackTrace();

}

}

Publikoa Langilearen getEmployee( String empid )

{

return ( Langilearen )cache.get( EmpID );

}

void removeEmployee publikoa( String empid )

{

saiatu

{

cache.remove( EmpID );

}

harrapatzeko( e CacheException )

{

e.printStackTrace();

}

}

public static void main( Katea[] argumentuak )

{

// Sortu langile kudeatzailea

EmployeeManager empManager = EmployeeManager berria();

// langile Gehitu langile kudeatzailea

/*empManager.addEmployee(Langilearen berria(“Name1”, “Helbidea 1”, “empid1”));

empManager.addEmployee(Langilearen berria(“izena2”, “address2”, “empid2”));

empManager.addEmployee(Langilearen berria(“NAME3”, “address3”, “empid3”));*/

// Talde langilea

Langilearen EMP = empManager.getEmployee(“123”);

System.out.println( “Langilearen xehetasun cache eskuratuko: ” + emp.getName()+”-“+emp.getAddress());

// Kendu langilea

empManager.removeEmployee(“123”);

// langile kentzea ondoren

System.out.println( “Langilearen cache-tik kentzea ondoren xehetasunak: ” + empManager.getEmployee(“123”) );

}

}

Jarraitzen konfigurazio fitxategia da cache.ccf. euren balioekin konfiguragarria parametro guztiak egiten ditu. Lehenengo atalean, lehenetsi cache eskualde horrek balio lehenetsiak antolatzen da. no eskualdean pertsonalizatua konfiguratuta badago orduan balio lehenetsiak hauek erabiliko dira. Bigarren atalean pertsonalizatuan cache eskualde hau da definitzeko empCache here. pertsonalizatuan parametroaren balioak definitzen da. azken atala AUXILIARY CACHE eskualde horrek diska cache eta erlazionatutako beste parametro deskribatzen da.

Listing3: konfigurazio fitxategia erakustea

# DEFAULT CACHE REGION

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 = false

jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds = 3600

jcs.default.cacheattributes.ShrinkerIntervalSeconds = 60

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

jcs.default.elementattributes.IsEternal = false

jcs.default.elementattributes.MaxLifeSeconds = 21600

jcs.default.elementattributes.IdleTime = 1800

jcs.default.elementattributes.IsSpool = true

jcs.default.elementattributes.IsRemote = true

jcs.default.elementattributes.IsLateral = true

# Aurrez erabakitako CACHE REGIONS

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 = false

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 = false

# AVAILABLE AUXILIARY cacheak

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:/temp

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

Ondorioa: Artikulu honetan katxeak kontzeptuak buruz eztabaidatu dugu eta Java Caching System bezala ezagutzen ezagunena katxeak esparru bat. Era berean estalita JCS eta horiek ezartzeko osagaiak. Azkenik lagin bat lanean adibidez eztabaidatu dugu oinarritutako Java Caching System-esparrua. JCS oso indartsua eta Java hizkuntzan idatzitako da. The biltegiratze mekanismo eta bere barne-diseinua oso irakurrita handiko eta put txikiko aplikazio indartsua dira. ezartzeko guztiz konfiguragarria da, beraz, edozein aplikazio berrien eta lehendik dela integratu ahal esfortzu handirik jarri gabe.

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