متین نوروزی
4 سال پیش توسط متین نوروزی مطرح شد
4 پاسخ

مشکل در ست نشدن لاراول و ردیس

سلام دوستان وقتتون بخیر، من میخوام از سیستم cache ردیس استفاده کنم خود ردیس درست نصب و فعال سازی شده و مشکلی با cli اش هم ندارم. پکیج predis/predis رو نصب کردم و کانفیگ لازم رو کردم تا متصل بشه به ردیس ولی انجام نمیشه هرچی میخوام ست کنم.

database.php

'redis' => \[

'client' => env('REDIS_CLIENT', 'predis'),

'default' => [
    'host' => env('REDIS_HOST', '127.0.0.1'),
    'password' => env('REDIS_PASSWORD', null),
    'port' => env('REDIS_PORT', 6379),
    'database' => env('REDIS_DB', 0),
],

'cache' => [
    'host' => env('REDIS_HOST', '127.0.0.1'),
    'password' => env('REDIS_PASSWORD', null),
    'port' => env('REDIS_PORT', 6379),
    'database' => env('REDIS_CACHE_DB', 1),
],

\],

cache.php

'redis' => \[  
'driver' => 'redis',  
'connection' => 'cache',  
\],

این هم کدی که برای ست کردن کش استفاده میکنم.


$redis = new Client();  
$redis->set('wd', 'wfw' ,12);  
$redis->setex('dw' , '35' , 3);

ممنون میشم راهنمایی کنید


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

شما نباید به تنظیمات فایل cache.php دست بزنید تنها کاری که نیاز هست اعمال کردن دو مقدار زیر در .env هست

CACHE_DRIVER=redis

برای کش کردن هم فقط کافیه از helper function با عنوان cache استفاده بفرمایید
برای استفاده معمولی هم، زمانی که به cache نیاز دارید هم فقط Redis رو صدا میزنید یا همن Client از کتابخونه predis


متین نوروزی
تخصص : Backend Developer - Laravel an...
@matinwd 4 سال پیش مطرح شد
0

درسته من همینکاری که شما فرمودین رو کردم ولی تابع هلپر cache کار نمیده. من وقتی خود کلاس Clientرو نمونه میسازم و ازش استفاده میکنم اوکیه فقط با این هلپر cache مشکل دارم


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

این تنظیماتی که گفتم رو اصلا انجام دادید ؟
و بعد از انجام دادن یکبار php artisan serve رو ریست کردین ؟
منظورتون از کار کردن دقیقا چیه ؟ اینکه ارور میده ؟
و اینکه دقیقا چطور ازش استفاده میکنید


متین نوروزی
تخصص : Backend Developer - Laravel an...
@matinwd 4 سال پیش آپدیت شد
0

بله تنظیماتی که گفتین انجام دادم و ریست هم کردم و کش رو هم پاک کردم
من به این شکل میتونم ازش استفاده کنم

$redis = new Predis\Client();
$redis->setex('aqwd' , 20 , 'gw');
dd($redis->get('awd', serialize(['2e2e'=>'2'])))

این اوکیه
حالا من همینو با متود cache اینجوری مینویسم


cache()->set('wd','wd');  
;dd(cache()->get('wd'))

این کار نمیده و هیچی بر نمیگردونه. و چون من دارم توی محیط api کار میکنم اروری هم بده نمیتونم ببینم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام