Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 1 Dołączył: 24.12.2013 Ostrzeżenie: (0%)
|
Witam,
Chcialbym dzis pdozielic sie swoim kolejnym wynalazkiem - obsluga keszu. Jest to co prawda dopiero zalazek tego co chce zrobic, albowiem brakuje metod odpowiedzialnych za obsluge danych, niemniej sposob 'komunikacji' ze sterownikiem widac na przykladzie metody Cache::dumpCache(); Docelowo zamierzam napisac takze wiecej sterownikow, zapewniajac dostep do: APC, eAccelerator, Dummy, File, MemCache, SQLite, WinCache, XCache. Zastanawiam sie takze nad mozliwoscia przechowywania keszu w cookies. Jednoczesnie prosze o ocene oraz komentarze - czyli ogolnie mowiac code review (IMG:style_emoticons/default/wink.gif) Jestem otwarty na wszelkie sugestie i uwagi poparte jakimkolwiek argumentem. Pozdrawiam serdecznie.
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 1 Dołączył: 24.12.2013 Ostrzeżenie: (0%)
|
Ciekawe zestawienie. Watpie jednak, aby ktos pakowal tak duze porcje danych do cache. Sporo interpreterow ma limit pamieci ustawiony na 64-128MB AFAIK. Wynika wiec z tego ze musialbys wsadzic (niemal) caly skrypt do cache.
Pytajac o serializacja bardziej oabwialem sie narzutu pamieci/CPU niezbednego na wykonanie serializacji przy zapisie i deserializacji przy odczycie. Z tego benchmarku wynika jednak, ze to nie powinno byc problemem. Lockowanie ma ta zalete, ze inny watek (request) nie nadpisze Ci tych danych. Teoretycznie istnieje ryzyko, ze 2 requesty odpalone w tym samym czasie beda chcialy cos zapisac do tego pliku i wtedy jego zawartosc moze byc inna niz sie tego spodziewasz. Exclusive lock sprawia, ze inny watek nie bedzie w stanie sie w miedzyczasie dokleic do pliku i uwazam ze warto to dopisac. Sam zreszta stosuje tego locka (IMG:style_emoticons/default/wink.gif) Przemysle odsmiecanie, choc nie jestem teraz pewien czy we wszystkich magazynach da sie to osiagnac i jaki bylby narzut. Jezeli chodzi o pliki, to trzeba byloby sie przeiterowac po wszystkich istniejacych plikach, zaladowac je, sprawdzic czy nie wygasly i ew usunac. Musialbym jeszcze sprawdzic czy np. APC oferuje taka mozliwosc. |
|
|
|
q.michal Moja implementacja "keszu" 23.02.2016, 10:13:40
Pyton_000 Robisz to dla treningu czy do użytku?
Jest tyle g... 23.02.2016, 11:14:06 
q.michal Oba powody sa poprawne. Przede wszystkim chce sie ... 23.02.2016, 11:19:34
daro0 Cache w cookies? To ma jakiekolwiek praktyczne zas... 27.02.2016, 08:12:05
q.michal Jak to mowia, takie hobby ;-)
Przyznam szczerze z... 27.02.2016, 12:32:15
daro0 Też na początku się zastanawiałem po co te podkata... 27.02.2016, 12:48:23
q.michal Brzmi sensownie, ale tez we wszystko bym bezgranic... 27.02.2016, 12:57:35
daro0 Co do serializacji to też chyba nie jest takie pro... 27.02.2016, 13:11:00
Pyton_000 Zawsze możesz stworzyć "tablicę" file ca... 27.02.2016, 14:53:23 
q.michal Cytat(Pyton_000 @ 27.02.2016, 14:53:2... 27.02.2016, 14:59:36
Pyton_000 Musisz ją zapisać. Wydało mi się to logiczne. 27.02.2016, 15:20:44
daro0 O jakich tablicach Wy w ogóle piszecie? Nic takieg... 27.02.2016, 17:19:17
Pyton_000 @daro0 To oświeć mnie jak zapiszesz obiekt do Cach... 27.02.2016, 19:10:06
daro0 Tak w dużym uproszczeniu:
[PHP] pobierz, plaintex... 27.02.2016, 19:48:46
Pyton_000 Ja wiem że trzeba obiekt zserializować.
Ale... C... 27.02.2016, 19:53:35
q.michal Odnoszac sie do benchmarku zalaczonego przez daro0... 27.02.2016, 21:32:28
daro0 To rand(0,99) jest chyba niezbyt dokładne. Można j... 28.02.2016, 07:37:29
q.michal Raczej malo trafiony przyklad
Dane pobierzesz, pr... 29.02.2016, 16:13:24 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 08:47 |