I am trying to run simple code of cache using memcache in my laravel project.
I have added CACHE_DRIVER=memcached
in my .env file.
I have created folder of memcache in C drive and added a file memcache.exe in that, and run in cmd by opening it as administrator.
my code in route is:
Route::get('/', function () {
// return view('welcome');
Cache::put('k1','created memcached memory!!',1);
Cache::add('k2','used "add" in memcached!!',2);
Cache::forever('k3','using forever to create cache',3);
$k1 = Cache::get('k1','default');
$k2 = Cache::pull('k2','default');
$k3 = Cache::pull('k3','default');
Cache::forget('k1');
$check = 0;
if(Cache::has('k1')){
return $check = 1;
}
});
when I run this route, i get error as
Class 'Memcached' not found
Is there any solution?
EDIT:
When i remove CACHE_DRIVER=memcached
and use CACHE_DRIVER=file
above code runs fine. What is correct way CACHE_DRIVER=memcached
or CACHE_DRIVER=file
? I had referred that from video 1
You need to install the memcached
extension to your server.
If you are using linux then
sudo apt-get install php5-memcached
Here is the launchpad link and here's pecl's link
Update :
If you are using xampp in windows you should just do this
In your php.ini
file just remove the semi colon before this
;extension=php_memcache.dll
to
extension=php_memcache.dll
and then restart your server
Note :
Don't forget to restart or stop and start your server after you install this.