首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel5.2之Redis保存页面浏览量

备注:最近在学习github上别人的源码时,发现好多在计算一篇博客页面访问量view_count时都是这么做的:利用Laravel的事件监听器监听IP访问该post,然后页面每访问一次,都刷新一次MySQL...何不用Redis来做缓存,等到该post达到一定浏览页面后再刷新下MySQL,效率也很高。...phpredis是C语言写的一个PHP扩展,和predis功能差不多,只不过作为扩展效率高些,phpredis可以作为扩展装进PHP语言中,不过这里没用到,就不装了。...IP短时间内刷新页面增加浏览量,event()或Event::fire()触发事件,把post和ip作为参数传入,然后再定义事件类: //app/Events/PostViewCount.php /**...还推荐一个Redis客户端:Redis Desktop Manager,可以在客户端里看下各个键值: 页面视图中可以利用上面推荐的barryvdh/laravel-debugbar插件观察下请求过程产生的数据

8.8K41

让 F5 歇一会儿——laravel-mix 自动刷新之道

因为近几年来大部分时假在与 Laravel 打交道,使用 laravel-mix 已成家常便饭,所以想着总结并分享一下 laravel-mix 工作流中的自动刷新之道。...laravel-mix 自称 An elegant wrapper around Webpack for the 80% use case ,其功能确实强大,它对于前端开发工作流的考虑也是非常全面,可以通过...Browsersync Browsersync 是一款强大的前端调试工具,如它的名字一样,主要的功能就是“浏览器同步”,这里的同步不仅是当资源发生变化时同步刷新,它支持局域网中多终端设备同时调试,甚至能同步这些设备上的滚动...修改相关文件关保存,webpack 将会自动编译修改的文件,完成之后页面将自动刷新。(如果修改的是后端文件,则直接刷新) ?...打开页面,修改页面引用的前端资源(如 js,css)并保存,页面将自动刷新 因为使用 laravel-mix 编译,一般修改 resource/ 目录下的文件,但实际上直接修改 public/ 目录中的文件也是可以触发刷新的

2.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    有原创保护能力的公众帐号可申请页面模版功能和图文消息正文插入历史群发链接

    之前微信公众平台仅针对开通了微信支付的公众号支持插入图文消息链接,现在微信团队对有原创保护能力的公众帐号开放页面模版功能、开放图文消息正文插入历史图文链接。(怎样申请成为有原创保护能力的公众帐号?...也许有人会把页面模版和模板消息混淆,模板消息是认证服务号向用户发送重要的服务通知的功能,具体请点击链接了解详情)   公众号图文消息可插入历史图文消息链接   1....公众平台新增页面模版功能,页面模版功能是给公众号创建行业网页的功能插件   1. 公众号运营者可在“添加功能插件”中可申请开通“页面模版”功能。 ? ?   2. 目前可选两种页面模版样式。 ?

    79840

    通过 Laravel 创建一个 Vue 单页面应用(五)

    我们在 第4部分 完成了编辑用户的功能,并且学习了如何使用 v-model 来监听视图组件中用户信息的更改。现在我们可以开始构思删除用户功能,以及删除操作成功后如何处理 UI 变化。...得益于 Laravel 的路由模型绑定,我们只需要在 UsersController 中添加寥寥几行的代码就可以实现删除单个用户的功能: public function destroy(User $user...saving" @click.prevent="onDelete($event)">Delete 我们从Update按钮中复制 :disabled 属性到Delete按钮中,从而防止我们在执行某个操作时.../users 页面。... 因为在后端的Laravel程序中存在一个万能路由, 这意味着前端也需要这么一个万能路由,当访问路径与已经定义的路由不匹配时以一个404页面作为响应。

    4.4K20

    基于 Redis 实现 Laravel 广播功能(下):在私有频道和存在频道发布和接收消息

    event => { console.log(event.user.name + ' Says ' + event.message); }) 刷新这个视图页面让代码修改生效...即可通过登录表单完成用户认证: 然后再次刷新 http://redis.test/broadcast 页面,就没有报错信息了: 在 laravel-echo-server 日志中,也可以看到对应的认证请求细节...推送广播消息给其他用户 Laravel 广播组件提供了类似这种功能的语法支持,我们只需要稍微调整下广播事件的分发代码即可,不过为了让 Laravel 识别是哪个客户端发布的广播消息,就不能通过命令行分发广播事件了...= window.Echo.socketId(); 具体示例这里就不再演示了,你可以自行去体验下,有什么问题,欢迎通过评论与我讨论,更多关于 Laravel 广播的功能特性,请参考官方文档。...关于 Laravel 广播组件的实现和使用,学院君就简单介绍到这里,下篇教程,我们来探讨如何通过 Redis 实现分布式锁以及该功能在 Laravel 任务调度中的应用。

    3.2K30

    基于Model Event模型事件的Laravel实时APP

    说明:本文主要来源于real-time-apps-laravel-5-1-event-broadcasting 本文主要基于Laravel的Model Event介绍该框架的实时通信功能,Laravel...,然后在输入框里提交文本后: A页面输入后B页面只有刷新才能看到最新输入的文本,不能实时显示,当然,输入的文本已经保存在model_event.items表里了: 页面里改变每一个item的...想要了解更多可以参考这篇文章:(基于 Pusher 驱动的 Laravel 事件广播)(下) 测试实时功能 刷新AB页面,并观察数据库model_event.items。 测试实时创建功能。...A页面输入文本后发现B页面不用刷新就实时显示对应内容,且数据库已经保存刚刚创建的文本: 测试实时更新功能。...B页面点击状态更新checkbox后,A页面该item状态也实时更新,且数据库isCompleted字段变为1: 测试实时删除功能。

    5.6K31

    【Laravel系列7.8】广播系统

    (说实话:实力不允许啊~~~~) 服务端配置 默认情况下,Laravel 框架中的广播功能是关闭的。现在我们需要先去打开广播服务提供者,它就在 config/app.php 中。...至此,Laravel 框架的服务端功能我们就完成了。不过,还不是完全完成,因为我们还需要一个 laravel-echo-server 组件来运行起一个 socket.io 服务端。...socket.io 问题 相信你已经打开了我们刚刚定义的页面,同时要保证队列消费和 laravel-echo-server 也正在运行,这时页面上会不停的轮询一个类似于下面这样的请求。...但是,这时你可以去试试刷新发送广播的页面,这边应该还是无法收到推送过来的消息。这是为什么呢?...EIO=3&transport=websocket&sid=NTZrvzpCSmX_kuuVAAAB 好了,去刷新一下广播页面发送广播吧,然后来到测试页面看看 Console 中是不是有输出了。

    2.3K20

    Laravel Mix 初探

    这里可以配合Browsersync,它可以自动监控你的文件变化,并将更改注入浏览器,而无需手动刷新。...你可以通过调用 mix.browserSync() 方法来启用这个功能的支持: // my-domain.dev 为开发域名 mix.browserSync('my-domain.dev'); //...现在,当你修改webpack.mix.js文件监控下的静态资源或者 Laravel 的 PHP 文件时,浏览器会即时刷新页面以响应你的更改。...my-domain.dev 或者开发机的其他端口,然后localhost:3000 的请求就会发送到 my-domain.dev npm run hot 当一段JavaScript被改变时,不仅会刷新页面...每次都要手动打版本号确实让人不太爽,但是你可以使用 Laravel Mix de version() 它会自动为所有编译文件的文件名附加一个唯一的哈希值,从而实现更方便的缓存清除功能: mix.js('

    4.4K60

    记一次跳不出思维解决 admin pjax 自定义刷新页面问题

    项目里使用laravel-admin搭建后台, 然后做了一个小功能, 右上角增加一个消息通知 如上图, 右上角有一个小铃铛, 点击之后清空消息, 并刷新当前页面....使用的是laravel-admin的action去操作 {$countText} "; } } 如上伪代码实现了一个通知, 当用户点击按钮的时候会触发handle方法,然后刷新当前页面...但是由于laravel-admin采用pjax导致无法刷新整个页面, 只会刷新下方的内容页面, 所以即使点击了也无法使小铃铛的1变成`` 看了文档, 在handle方法使用 \Admin:...:disablePjax(); 禁用pjax, 不生效(应该在页面级别加,而不是处理的方法) 之后查看了一下MarkNotificationRead继承的Action有一个方法 之前思维一直卡在

    34310

    开源应用中心|五分钟教你搭建一个基于Laravel开发博客的应用

    背景 laravel_blog是一款精美的博客程序,采用laravel框架搭建,适配pc和移动端,可能是世界上最漂亮的博客之一。...2. laravel_blog的特点 使用pjax异步无刷新加载 完美支持音乐播放、相册管理、视频播放 支持多种 Live2D 看板娘动画 接下来,我们来看看如何快速部署和使用起来。 3....点击内容管理→文章管理→新增文章,可以编辑并发布文章 4.2 相册管理 点击内容管理→相册管理,可以编辑我们的相册,上传照片到不同的相册集 4.3 歌单管理 如果有喜欢的歌曲,可以在内容管理→歌单管理页面上传...如果要在前台页面播放歌曲,记得点击左下脚的播放器 4.4 视频管理 如果想上传视频,可以点击内容管理→视频管理,来上传视频 4.5 网站配置 网站配置页面可以设置网站的一些全局配置,比如站点名称...经验小结 1、laravel_blog的界面非常优美,适用日常记录、诗词分享等等场景。 2、开源应用中心,提供免费体验版本,你在决策正式部署使用前,也可以通过体验版了解该应用的功能与服务。

    56510

    Laravel CSRF 保护

    值得庆幸的是,Laravel 可以轻松保护您的应用程序免受跨站点请求伪造(CSRF)攻击。...通过Laravel 用户认证我们知道了web 浏览器认证和API 认证,基于此我们今天总结下 CSRF 保护 漏洞的解释 如果您不熟悉跨站点请求伪造,我们讨论一个利用此漏洞的示例。...value="malicious-email@example.com"> document.forms[0].submit(); 如果恶意网站在页面加载时自动提交了表单...为了防止这种漏洞,我们需要检查每一个传入的 POST,PUT,PATCH 或 DELETE 请求以获取恶意应用程序无法访问的秘密会话值。...以上摘自 Laravel 文档;下面自我理解一下: 表单是可以跨域的。 用户打开了浏览器,有两个标签页,一个是您的网站(your-application.com),一个是恶意网站(怎么打开的?

    1.4K20

    基于 Redis 实现 Laravel 广播功能(中):引入 Laravel Echo 接收广播消息

    至此,我们就将前面基于 Redis + Socket.io 原生代码实现的事件广播功能重构为了基于 Laravel 广播组件 + Laravel Echo Server + Laravel Echo 实现的完整广播系统了...,这样一来,我们就可以使用 Laravel 广播系统提供的所有功能了,包括事件广播的推送和接收、私有频道、存在频道等。...表示客户端断开连接,之所以出现下面这个 joined-left-joined 日志,是因为我刷新过 /broadcast 页面: 在浏览器中也可以在开发者工具中看到熟悉 Socket.io Websocket...Laravel Echo Server 中的 Redis 接收处理了: 底层原理和我们通过 Redis + Socket.io 原生代码实现广播功能是一样的,基于 Redis 订阅功能实现,感兴趣的同学可以去看下...在浏览器页面开发者工具的 Console 中,也可以看到客户端接已经收到这个事件消息并打印出用户信息来了: 至此,从 Laravel 服务端到 Laravel Echo Server 到 Laravel

    3.8K10

    Laravel5.5 session 的配置及使用示例讲解

    ,虽然没有信息研究核心源码,至少要能灵活顺畅的应用,接下来,主要是介绍Session在 Laravel5.5 中的应用,欢迎指导建议,必将虚心求知 … 框架:Laravel5.5 重点:Session...提示信息 首先,如果在 Laravel 中使用 session 功能,需要明确以下的知识点: Laravel 并没有使用 PHP 内置的 Session 功能,而且自己实现了一套更加灵活更加强大的 Session...驱动方式的配置 SESSION_DRIVER=database 此时进行页面的访问,数据表会被插入一条数据,且不同的浏览器打开网站时,都会增加一条: ?...并且字段 user_id 没有赋值 每次页面刷新或跳转,在时效内,都会进行更新,唯一不变的是 id 不变,待到有效期过后或者更换浏览器再增加新的记录....个人理解,此 session 表 是框架在 database 驱动模式下自行访问的表,因为发现在调试环境下,页面进行跳转时会自行执行下面的查询,具体的还未找到解释,暂时理解为框架默许机制. ?

    1.4K10

    3分钟短文:Laravel模型创建数据条目的2个语法糖

    引言 经过之前章节对于路由,控制器等知识做了很多的储备,接着我们开始与数据库交互,摆脱繁复且难以维护的SQL操作,laravel提供了MVC的M模型功能。...代码时间 我们在构建一个hello world页面的时候,已经介绍了如何使用laravel的命令行脚手架创建新的模型文件,以及通过迁移功能创建数据库表。这样就把数据操作衔接起来了。...我们可以在模型内将其 “保护” 起来: class User extends Model { protected $guarded = ['is_admin']; } 这样使用User模型写数据库的时候...laravel还有一个方法 firstOrNew 用于不立即写入数据库,直到手动写入: $event = Event::firstOrNew(['name' => 'Coffee and Laravel...']); $event->venue = 'Starclucks'; $event->save(); 写在最后 本文通过一个简单的数据操作介绍了如何保护字段,手动指定允许字段。

    1.9K00

    Laravel5.2之Model Observer模型观察者

    备注:上一篇文章:Laravel5.2之Redis保存页面浏览量,在开发的时候有个逻辑有点在意:那篇文章再用Redis保存浏览量后,当浏览量达到设置的次数后刷到MySQL里,同时把Redis里该浏览量键抹掉...研究时,发现可以使用Model Observer来实现Model的事件变化来自动刷新flush下Redis,个人觉得有点像是定义了一个事件监听器监听模型事件一样。...当然第四个IP访问后页面就会显示最新的浏览量了。 模型观察者这个功能能做很多事情,比如Model Update模型更新时发个通知。...或者就像一篇文章的内容重新编辑保存后,把原来缓存内的该篇文章内容刷新下,这样下一个请求来的时候读的就是最新的文章内容了。作者以后会继续研究研究,发现挺好玩的东西到时候分享出来吧。...总结:本篇文章主要学了下Laravel的Model Observer模型观察者,发现这个功能也能使代码结构更清晰,觉得挺好的。最近一直在瞎研究,有遇到好玩的再分享出来吧。

    1.7K21

    Homestead + laravel-mix 环境下 hmr 的两种玩法

    我在前几天刚写过的《让 F5 歇一会儿——laravel-mix 自动刷新之道》[1]中介绍了 laravel-mix 实现自动刷新的几种方法,其中就有涉及 hmr(Hot Module Replacement...对于 Laravel 官方首推的 Homestead 当然也是可以的,只不过用法上有些差别,于加上 laravel-mix 本身的一些 BUG(在 issue 里搜索 hmr 结果就有好几页 :smile...在虚拟机终端中执行yarn run hot,然后在浏览器中使用绑定的测试域名(如:laravel.test)访问 34.修改 JS 等,自动编译后浏览器中页面即自动更新 玩法二:使用宿主机中的 Node...修改 JS 等,自动编译后浏览器中页面即自动更新 总结 两种方法并没有谁好谁坏之分,具体使用哪种方法视具体场景及个人喜好而定。...References [1] 《让 F5 歇一会儿——laravel-mix 自动刷新之道》: https://tianyong90.com/2019/04/12/rang-f5-xie-yi-hui-er-laravel-mix-zi-dong-shua-xin-zhi-dao

    1.6K10

    Laravel5.8学习日常之分页

    后端分页分为页面有刷新请求及无刷新请求(Ajax请求),就是前台采用按钮事件或者Ajax请求的方式,告知后台进行分页,同时后台进行计算偏移量及当前页码,进行对应页码数据的请求,之后后台查询好数据进行向前台数据进行传递...Laravel分页 Laravel分页是典型的后台分页,不过它将分页进行了封装,只需要调用它封装好的数据就可以实现分页。 数据分页有几种方法。...laravel文档介绍 Laravel分页只需要两个步骤: (1)控制器初始化方法增加paginate方法,向前台渲染数据即可; (2)前台将添加一个Laravel自带的语法{{ $data->links...后端处理代码如下: /* * 后台用户管理页面方法 */ public function index(){ //计算数据库中的用户条数 $count = DB::table("user...count(); //正序读取数据并执行分页 $data = DB::table("user")->orderBy("id","asc")->paginate(10); //加载页面

    2.2K10
    领券