Eloquent ORM该怎么监听它的事件然后使用memcache缓存数据
首先我的网站目前使用了这些组件
"require": { "symfony/http-foundation": "^3.1", "symfony/routing": "^3.1", "symfony/http-kernel": "^3.1", "symfony/event-dispatcher": "^3.1", "pimple/pimple": "~3.0", "illuminate/database": "^5.3" },
因为我用的是symfony的event-dispatcher组件,而没有用laravel的events组件,
所以Eloquent ORM服务初始化的时候这个自带的设置事件监听的功能并不能用
use Illuminate\Events\Dispatcher; use Illuminate\Container\Container; $capsule->setEventDispatcher(new Dispatcher(new Container));
而我又不想使用两个功能重复的组件,所以没法监听到Eloquent ORM的事件然后做缓存。
我想实现的主要是用memcache缓存Eloquent ORM查询事件的数据,这一步该怎么做呢...
回复内容:
首先我的网站目前使用了这些组件
"require": { "symfony/http-foundation": "^3.1", "symfony/routing": "^3.1", "symfony/http-kernel": "^3.1", "symfony/event-dispatcher": "^3.1", "pimple/pimple": "~3.0", "illuminate/database": "^5.3" },
因为我用的是symfony的event-dispatcher组件,而没有用laravel的events组件,
所以Eloquent ORM服务初始化的时候这个自带的设置事件监听的功能并不能用
use Illuminate\Events\Dispatcher; use Illuminate\Container\Container; $capsule->setEventDispatcher(new Dispatcher(new Container));
而我又不想使用两个功能重复的组件,所以没法监听到Eloquent ORM的事件然后做缓存。
我想实现的主要是用memcache缓存Eloquent ORM查询事件的数据,这一步该怎么做呢...
缓存查询的数据建议使用 remember
方法。
$value = Cache::remember('users', $minutes, function() { return DB::table('users')->get(); });
有缓存就直接返回缓存里的数据,否则从数据库查询并设置缓存后返回数据。
至于你说的替换了event dispatcher,怎么监听model事件,可以在model或者基类model里写, 例如:
protected static function boot() { parent::boot(); static::created(function ($model) { // cache model }); }
每个事件都有其对应的静态方法:saving
saved
updating
updated
creating
created
deleting
deleted
以上就是Eloquent ORM该怎么监听它的事件然后使用memcache缓存数据的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在Web开发中,我们经常需要使用缓存技术来提高网站的性能和响应速度。Memcache是一种流行的缓存技术,它可以缓存任何数据类型、支持高并发和高可用性。本文将介绍如何使用PHP开发中的Memcache,并提供具体代码示例。一、安装Memcache要使用Memcache,我们首先需要在服务器上安装Memcache扩展。在CentOS操作系统中,可以使用以下命令

QQ浏览器缓存数据怎么清理?QQ浏览器是一款拥有大量用户的搜索软件,优秀的速度和丰富的功能,使很多用户经常性的使用这款软件。我们都知道软件长时间使用以后,就会留下很多缓存文件和别的垃圾信息,如果不及时清理,就会拖慢浏览器的反应速度。这个时候就需要我们及时的经常性的清理,清理缓存后会更方便使用,反应速度更好。下面就让我们一起来看看,在使用QQ浏览器的时候怎么清理缓存的吧!QQ浏览器缓存数据清理方法和步骤介绍第一步:打开QQ浏览器,在主页面点击右上角的“菜单”栏。第二步:在下拉的菜单栏选项中,点击打

Laravel开发:如何使用LaravelEloquent实现多态关联?多态关联是LaravelEloquent的一项重要功能,它可以使一个模型和多个不同的模型建立关联关系。在实际应用中,处理不同类型的数据相对简单且高效,尤其在数据库设计上非常方便。在本文中,我们将讨论如何使用LaravelEloquent实现多态关联。一、什么是多态关联?多态

标题:如何提升ECShop网站速度?从根源入手解决问题,需要具体代码示例随着电子商务行业的快速发展,ECShop作为一款颇受欢迎的开源电商系统,在许多网站中被广泛采用。然而,随着网站访问量的增加和功能的不断扩充,网站速度变得尤为关键,因为用户体验和搜索引擎排名都与网站速度密切相关。那么,如何提升ECShop网站的速度呢?本文将从根源入手,探讨一些具体的优化方

在Laravel中使用Eloquent将数组转换成对象需要以下步骤:创建Eloquent模型。使用Eloquent的select方法获取结果并转换为数组。使用ArrayObject将数组转换成对象。获取对象属性以访问数组的值。

在PHP开发中,使用Memcache缓存系统可以大大提高数据读写的效率。Memcache是一种基于内存的缓存系统,它可以将数据缓存在内存中,避免频繁的读写数据库。本文将介绍如何在PHP中使用Memcache进行高效的数据读写操作,并提供具体的代码示例。一、安装和配置Memcache首先,需要在服务器上安装Memcache扩展。可以通过

番茄小说是一款提供海量小说资源的软件,无论你是小说爱好者还是日常喜欢阅读的人,都可以通过这款软件找到你想看的小说资源。每天都有大量新小说更新,让你有更多选择。同时,软件还有详细的小说分类,方便用户挑选。除了丰富的小说资源,番茄小说的阅读功能也非常强大,是很多用户的首选软件。但是使用久了以后很容易占用手机内存,那么究竟该如何清理呢,这篇教程就将为大家带来详细的步骤介绍,希望能帮助到大家。番茄小说怎么清除缓存?1、首先打开番茄小说,选择底部的我的。2、在我的页面里选择设置的选项。3、接着在设置页面找

PHP开发中如何使用Memcache进行高效的数据写入和查询?随着互联网应用的不断发展,对于系统性能的要求越来越高。在PHP开发中,为了提高系统的性能和响应速度,我们经常会使用各种缓存技术。而其中一个常用的缓存技术就是Memcache。Memcache是一种高性能的分布式内存对象缓存系统,可以用来缓存数据库查询结果、页面片段、会话数据等。通过将数据存储在内存
