12月8日:thinkphp中的杂项

news2024/11/19 19:22:27

缓存

        缓存概念及类型:什么是缓存 - 与非网

        缓存(cache)一般存放在runtime目录下,页面请求一次将请求内容进行缓存,下一次再次访问,会直接访问到缓存内容,不会再次请求服务器,减少服务器压力

场景:微博热搜榜,榜单后的点击次数,并不会实时更新,而是会隔一段时间进行计算,假如说榜单数据之和一分钟更新一次,但是在这一分钟内,用户会在页面不断进行请求,页面一直都是显示缓存数据,而并非实时数据,这就是缓存

缓存可在config中进行配置,包括缓存期限,缓存存放路径等等

 //缓存
    public function cacheTest(){
        //设置缓存
        //Cache::set('test','111',1);
        //取出缓存
        //dump(Cache::get('test'));
        //助手函数
        \cache('test','111',1);
        sleep(10);
        dump(\cache('test'));
    }

Session

        session:一般存放在服务器端,用来存储用户登录信息,也可存储验证码信息

验证码存储在session中
//原生session
    public function session(){
        //开启session初始化
        session_start();
        //创建session
        $_SESSION['user'] = '111';
        //获取session
        dump($_SESSION['user']);
    }
//session
    public function sessionTest(){
        //框架中的session
        //不需要手动初始化
        //静态方法
        Session::set('user','2');
        Session::get('user');
        //助手函数
        session('test','1111');
        dump(session('test'));
    }

session拓展:

session的自动回收机制

session的自动回收机制配置信息存储于php.ini中,默认设置过期时间为1440秒,但是在平常网页的登录中,session即使到达了过期时间,也不会被清除,是因为session自动回收机制的原因,由于每次到了过期时间就要被清除,太多次的请求会导致服务器崩溃,所以自动回收机制的触发概率是千分之一,极大地减少了服务器的性能损耗

cookie

  //框架定义cookie
    public function cookieTest(){
        //静态方法
        Cookie::set('user','zhangsan');
        Cookie::get('user');
        //助手函数
        \cookie('test','111');
        dump(\cookie('test'));
    }

验证码

(官方文档:https://static.kancloud.cn/manual/thinkphp5/154295)

登录注册页面都会使用到验证码,是为了防止现在的人工智能,有人蓄意整活,如果没有验证码,会有机器人不断的进行注册,总会写满数据库,导致网站新用户不能正常注册

题外:

        队列(先进先出)

场景:

  1. 12306购票:预售1000张票,但是如果同时有1万个人,同时请求查询,同时下单的话,那么又没有一万张票,就采用队列限制,进行排队,售完1000张票就停止售卖。
  2. 医院挂号:谁来的早,谁排到前面,并且优先进入医生办公室
队列示意图

 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/72185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ Primer Plus第五版笔记(p151-200)

64 空语句存在危害 p155 65 复合语句是指用花括号括起来的,也被叫做块 一个块就是一个作用域 66 空块的概念p155 67 else只和最近的没配对的if 进行配对 (悬垂else) 68 case标签必须是一个整形常量表达式 69 default也是一种特殊的case标签 …

【github项目更新以及相关常用操作】

文章目录(一)更新github项目以及更新项目里某个特定文件(二)报错(三)github更改默认分支(一)更新github项目以及更新项目里某个特定文件 更新github项目: 1、首先确保你有github账号并且执行过上传操作(有项目,项目里有文件 2、点击想更新的…

Oracle PrimaveraUnifier 数据定义(Data Definitions),S1

目录 Basic Cost Code Data Picker 数据类型 数据长度 输入方式 Oracle Primavera Unifier数据定义描述了如何将数据输入到Unifier中并存储。数据定义是构建数据元素(表单字段)的基础。有三种类型的数据定义: BasicCost CodeData PickerBasic…

ABP框架数据库改为MySQL

项目中如果需要其他方式数据库的支持,那么需要先删除之前的支持程序集,再引入相应的支持程序集。 1、 移除默认SQL Server相关包 在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design 2…

如何精准分析特定用户的应用性能问题?这两个功能您一定要了解

应用发布后,尤其在发布初期,我们要格外关注应用的性能稳定性,如ANR、画面卡顿、加载慢等问题,如果不能及时被监测及解决,将会给用户带来非常糟糕的体验,导致低评、差评,甚至造成部分意向用户直接…

.net开发安卓入门 - Hello world!

.net开发安卓入门 - Hello world!前言新建项目启动调试调试效果添加Hello World效果安卓样式常见属性介绍第一类:属性值为true或false第二类:属性值必须为id的引用名第三类:属性值为具体的像素值,如30dip,40px第四类:布…

Python如何解析json数据

json 库可以自字符串或文件中解析JSON。 该库解析JSON后将其转为Python字典或者列表。它也可以转换Python字典或列表为JSON字符串。 解析JSON 创建下面包含JSON数据的字符串 json_string ‘{“first_name”: “Guido”, “last_name”:“Rossum”}’ 它可以被这样解析&#…

官方!杭州市第三批重点建设人工智能应用场景发布,创邻科技Galaxybase入选

近日,杭州市经济和信息化局公开发布《2022年杭州市第三批重点建设的人工智能应用场景清单》,对智慧城市、智慧交通、智慧教育、智慧金融等9个细分领域的申报项目进行遴选,最后以浙江大学、杭州城市大脑、顺丰速运为代表的46个人工智能场景脱颖…

net项目使用花生壳,Cpolar进行内网穿透

使用花生壳或Cpolar进行内网穿透一、注册授权一个花生壳账号二、添加花生壳配置三、修改项目配置信息四、以管理员身份打开vs五、Cpolar内网穿透一、注册授权一个花生壳账号 二、添加花生壳配置 打开花生壳客户端,找到内网穿透,找到添加符号&#xff0…

浅析linux 系统进程冻结(freezing of task)

1 概述 进程冻结是当系统hibernate或者suspend时,对进程进行暂停挂起的一种机制,后面主要以hibernate为例进行介绍。那么为什么要在hibernate或者suspend时需要把进程冻结呢?主要是出于如下的原因: 防止文件系统被修改后无法恢复…

springboot集成security(认证)

目录1. 依赖2. 自定义登录逻辑1. 数据库查询2. security认证1. loadUserByUsername2. PasswordEncorder(不加密)3. MD5加密数据库密码4. PasswordEncorder(加密)5. BCryptPasswordEncoder6. 认证流程(图)3.…

【POJ No. 3764】 最长xor 路径 The xor-longest Path

【POJ No. 3764】 最长xor 路径 The xor-longest Path 北大OJ 题目地址 【题意】 在边权树中,路径p的xor长度被定义为路径p上边权的 ,⊕是xor运算符,表示异或。若一个路径有最大的xor长度,则该路径是xor最长的路径。给定n 个节点…

如何正确使用Airtest报告插件?报告小tips上线

1. 前言 在使用Airtest做自动化测试时,默认生成的报告,其实是airtest的专属报告。 它对于poco语句(控件测试场景)、airtest-selenium语句(web测试场景)的支持不够完善,因此我们需要用 插件的形…

Shell脚本学习指南(六)——输入/输出、文件与命令执行

文章目录前言标准输入、标准输出与标准错误输出使用read读取行关于重定向额外的重定向运算符文件描述符处理printf的完整介绍波浪号展开与通配符波浪号展开使用通配符命令替换为head命令使用sed创建邮件列表简易数学:expr引用执行顺序与evaleval语句subShell与代码块…

CAS:210236-90-1,Fluorescein Tyramide,荧光素酪胺绿色荧光试剂

一:产品描述 1、名称 英文:Fluorescein Tyramide 中文:荧光素酪胺 2、CAS编号:210236-90-1 3、分子式:C29H21NO7 4、分子量:495.49 6、储存: -20℃可长期保存,注意避光并置于…

个人微信号API接口,微信机器人

自定义的微信机器人,需求是可以自己批量添加好友、批量打标签等进行好友管理,社群管理需要自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总&a…

美妆商场系统/在线购物系统/美妆销售系统

摘 要 本毕业设计的内容是设计并且实现一个基于JSP技术的美妆商场系统。它是在Windows下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。美妆商场系统的功能已基本实现,主要包括个人中心、用户管理、商品中心管理、商品类型管…

故障分析 | MySQL 使用 load data 导入数据错误的一个场景

作者:刘晨 网名 bisal ,具有十年以上的应用运维工作经验,目前主要从事数据库应用研发能力提升和技术管理相关的工作,Oracle ACE ,腾讯云TVP,拥有 Oracle OCM & OCP 、EXIN DevOps Master 、SCJP 等国际…

HashSet、HashMap、LinkedHashMap、HashTable、ConcurrentHashMap源码阅读笔记

目录一、HashSet二、HashMap三、LinkedHashMap四、HashTable五、ConcurrentHashMap一、HashSet 首先,让我们先从最简单的开始,总的来说,hashSet可以说是建立在hashMap上的变种应用。 通过阅读hashSet的源码我们可以得出以下结论:…

1556_AURIX_TC275_复位系统控制单元

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这是上一部分没有看完的CCU的核心寄存器的存储映射信息,只是一个汇总,没有需要着重处理的分析点。 复位控制单元涉及到的几个大功能:基本复位、外部复位…