Laravel 8: Memcache and Memcached

C++ JAVA
User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3379
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 128

Re: Laravel 8: Memcache and Memcached

Post by dakata__92 » Fri Dec 04, 2020 3:55 pm

Code: Select all

        dump(cache()->store('memcached')->put('key', 'test', 10));
        dump(cache()->store('memcached')->getStore()->getMemcached()->getResultMessage());
        dump(cache()->store('memcached')->getStore()->getMemcached()->getResultCode());
        dump(cache()->store('memcached')->add('key', 'test', 10));
        dump(cache()->store('memcached')->getStore()->getMemcached()->getResultMessage());
        dd(cache()->store('memcached')->getStore()->getMemcached()->getResultCode());
Това връща:
true
"SUCCESS"
0
true
"SUCCESS"
0

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 943
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 66

Re: Laravel 8: Memcache and Memcached

Post by Revelation » Fri Dec 04, 2020 5:02 pm

dakata__92 wrote:
Fri Dec 04, 2020 3:55 pm

Code: Select all

        dump(cache()->store('memcached')->put('key', 'test', 10));
        dump(cache()->store('memcached')->getStore()->getMemcached()->getResultMessage());
        dump(cache()->store('memcached')->getStore()->getMemcached()->getResultCode());
        dump(cache()->store('memcached')->add('key', 'test', 10));
        dump(cache()->store('memcached')->getStore()->getMemcached()->getResultMessage());
        dd(cache()->store('memcached')->getStore()->getMemcached()->getResultCode());
Това връща:
true
"SUCCESS"
0
true
"SUCCESS"
0
Шах съм, честно. Ще трябва да тествам собственоръчно, да ми е пред очите, че с тези тестове само гадая.

Ако не те мързи тествай със 7-ма версия. Аз ще видя кога ще успея да тествам лично.

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3379
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 128

Re: Laravel 8: Memcache and Memcached

Post by dakata__92 » Thu Apr 01, 2021 2:54 pm

Темата е все още валидна. Открихме, че Ларавел по някаква причина при мемкеш ttl под 8 минутки не приема за кеширане.

Code: Select all

$key = md5('key);
        dump($key);
        cache()->store('memcached')->remember($key, 60 , function () {
            return ['array'];
        });
        if (cache()->store('memcached')->has($key)) {
            dump(cache()->store('memcached')->get($key));
        }
        dd('Stop');
Ако подам 60 секунди не добавя нищо, но ако увелича времето на 480 примерно и започва да запаметява. Какво да правя?

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 943
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 66

Re: Laravel 8: Memcache and Memcached

Post by Revelation » Thu Apr 01, 2021 4:49 pm

Да нямате проблеми с времената на машината, където кода се изпълнява? Ларавел ползва Carbon за обработка на времената и зад колисите обръща тези секунди в timestamp.

Може да тестваш да видиш дали нещата се изчисляват правилно.

Направи си един тестов клас и извикай InteractsWithTime трейта и тествай какво ще ти върне

Code: Select all

$this->availableAt($seconds);

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3379
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 128

Re: Laravel 8: Memcache and Memcached

Post by dakata__92 » Fri Apr 02, 2021 6:09 am

Revelation wrote:
Thu Apr 01, 2021 4:49 pm
Да нямате проблеми с времената на машината, където кода се изпълнява? Ларавел ползва Carbon за обработка на времената и зад колисите обръща тези секунди в timestamp.

Може да тестваш да видиш дали нещата се изчисляват правилно.

Направи си един тестов клас и извикай InteractsWithTime трейта и тествай какво ще ти върне

Code: Select all

$this->availableAt($seconds);
Всичко е нормално с часът. Възможно ли е да е от настройка на php за Memcached или от настройка на самата библиотека на сървъра?

User avatar
djman
Гуру
Гуру
Posts: 2823
Joined: Sat Sep 12, 2009 8:07 am
Answers: 110

Re: Laravel 8: Memcache and Memcached

Post by djman » Fri Apr 02, 2021 6:31 am

А за пробата - ако добавиш някакъв малък sleep между remember & has?

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3379
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 128

Re: Laravel 8: Memcache and Memcached

Post by dakata__92 » Fri Apr 02, 2021 6:57 am

djman wrote:
Fri Apr 02, 2021 6:31 am
А за пробата - ако добавиш някакъв малък sleep между remember & has?
Тествах преди малко, не става. Впрочем системния администратор ми извади едно шелче, с което на практика да си проверявам ключовете дали съществуват. Ами не се записва изобщо нищо под 480 секунди. Ако подам кеша на файл всичко е перфектно и няма проблем, но под Memcched проблема си стои. Откакто имам поне поглед над ключовете, които реално се сторват на сървъра установих, че някои неща се кешират, а други с по-малко време не. Ларавел е мигриран от 5.7 до 8 и при всеки ъпдейт съм спазвал всичко описано от документацията.

https://laravel.com/docs/5.8/upgrade

Тук има промени по кеширането, но на практика просто трябва да минеш и ако си слагал 1 за една минутка, да го направиш 60 в секунди.

uphero
Потребител
Потребител
Posts: 795
Joined: Mon Feb 20, 2012 12:26 pm
Answers: 35
Location: Казанлък
Contact:

Re: Laravel 8: Memcache and Memcached

Post by uphero » Fri Apr 02, 2021 8:50 am

php което работия с мемкеша гледа ли неговия час?
Това което ти ползваш и това с кеша май бяха разлчини рнр-та

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3379
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 128

Re: Laravel 8: Memcache and Memcached

Post by dakata__92 » Fri Apr 02, 2021 9:09 am

uphero wrote:
Fri Apr 02, 2021 8:50 am
php което работия с мемкеша гледа ли неговия час?
Това което ти ползваш и това с кеша май бяха разлчини рнр-та
Смисъл, дали времето на сървъра не е сверено ли?

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 943
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 66

Re: Laravel 8: Memcache and Memcached

Post by Revelation » Fri Apr 02, 2021 2:59 pm

Той най-вероятно говори за web и cli php, понеже те използват различни ini файлове(едно и също PHP но различни конфигурации), но не вярвам да имате включен memcached разширение за cli-а, а и когато се изпълнява през уеб-а си се използва уеб конфигурацията.

Имате някъде разлика във времената от 8 минути.

Code: Select all

$ date
връща ли ти правилния час на сървъра (това е линукс команда)?

Също, това директно на сървъра ли тестваш или на локална работна среда? Въведи ни малко в обстановката, за да знаем възможностите ти какви са.

И последно, я пробвай да подадеш Carbon истанция за секундите. Не би трябвало да има разлика (според кода, който седи отзад)

Code: Select all

now()->addSeconds(60)
Аз щях да тествам в нас, но бях зает и след това напълно забравих.

Post Reply