当前位置: 首页 > news >正文

fastadmin 基本使用配置


fastadmin 版本 1.3.5
thinkphp  版本 5.0.25


配置 cache         为 redis 保存

// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------
'cache'                  => [
    // 驱动方式
    'type'   => 'redis',
    'host'                   => Env::get('redis.hostname'),
    'password'               => Env::get('redis.password'),
    'port'                   => Env::get('redis.hostport'),
    'select' => 2,     # 设置保存数据库
    // 缓存保存目录
    'path'   => CACHE_PATH,
    // 缓存前缀
    'prefix' => 'cache_',
    // 缓存有效期 0表示永久缓存
    'expire' => Env::get('redis.expire'),

],


配置 session     为 redis 保存

 // +----------------------------------------------------------------------
// | 会话设置
// +----------------------------------------------------------------------
'session'                => [
    'id'             => '',
    // SESSION_ID的提交变量,解决flash上传跨域
    'var_session_id' => 'fastadmin',
    // SESSION 前缀
    'prefix'         => 'session', # 当前作用域
    // 驱动方式 支持redis memcache memcached
    'type'           => 'redis',
    'session_name'           => 'session_', # session_ 前缀
    // 是否自动开启 SESSION
    'auto_start'     => true,

    'host'                   => Env::get('redis.hostname'),
    'password'               => Env::get('redis.password'),
    'port'                   => Env::get('redis.hostport'),
    'select' => 2,     # 设置保存数据库
    // 缓存有效期 0表示永久缓存
    'expire' => Env::get('redis.expire'),
    //'cache_limiter'=>''
],

配置文件访问到第三方服务器 dfs

/**
 * CDN地址
 */
'cdnurl'    => '',

配置 token 保存到 redis 
// +----------------------------------------------------------------------
// | Token设置
// +----------------------------------------------------------------------
'token'                  => [
    // 驱动方式
    'type'     => 'Redis',
    // 缓存前缀
    'key'      => '9M1d3jy2gGbtfXSQAZ4oIslC0Yz56cFK',
    // 加密方式
    'hashalgo' => 'ripemd160',
    // 缓存有效期 0表示永久缓存
    'expire'   => 0,
    'host'                   => Env::get('redis.hostname'),
    'password'               => Env::get('redis.password'),
    'port'                   => Env::get('redis.hostport'),
    'select' => 2,     # 设置保存数据库
],


行为定义:就是多个方法调用,使代码更简洁,,不是异步,是同步调用,,相当于 common 里面的方法

//注册成功的事件
Hook::listen("user_register_successed", $registerdata);
区别在于,没有也不会报错
定义行为 https://www.kancloud.cn/manual/thinkphp5/118130


如果修改了 public/assets/js/ 下的公共文件,
就需要 运行 php think min -m all -r all 进行更新压缩文件,
不然在debug=false 不会执行修改的代码


配置 workman nginx 端口转发

ws://192.168.1.202/ws

location /ws {
    proxy_pass http://127.0.0.1:2346;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    rewrite /ws/(.*) /$1 break;
    proxy_redirect off;
}

workman crontab

 # 每个进程启动都会调用一次,多个进程调用多次,同时执行
var_dump($worker->count);

if($worker->id === 0){
    new Crontab('1 * * * * *', function(){
        echo "test1".date('Y-m-d H:i:s')."\n";  #1
        sleep(5);
    });


    new Crontab('1 * * * * *', function(){
        echo "test2".date('Y-m-d H:i:s')."\n"; #4
    });

}elseif($worker->id === 1){
    new Crontab('1 * * * * *', function(){
        echo "test3".date('Y-m-d H:i:s')."\n"; # 2
        sleep(5);
    });


    new Crontab('1 * * * * *', function(){
        echo "test4".date('Y-m-d H:i:s')."\n"; #5
    });
}elseif($worker->id === 2){
    new Crontab('1 * * * * *', function(){
        echo "test5".date('Y-m-d H:i:s')."\n"; #3
        sleep(5);
    });


    new Crontab('1 * * * * *', function(){
        echo "test6".date('Y-m-d H:i:s')."\n"; #6
    });
}


难点:
配置 site.php,到 redis 需要手动写代码


 

相关文章:

fastadmin 基本使用配置

fastadmin 版本 1.3.5 thinkphp 版本 5.0.25 配置 cache 为 redis 保存 // ---------------------------------------------------------------------- // | 缓存设置 // ---------------------------------------------------------------------- cache …...

netty 线程组

我们的bossgroup和workgroup都是使用的NioEventLoopGroup。其内部有一个EventExecutor类型的数组用来存储所有的线程组。 NioEventLoopGroup {EventExecutor[] children; }NioEventLoopGroup继承自MultithreadEventExecutorGroup,构造函数不指定线程数默认会根据系…...

Reactor 第十二篇 WebFlux集成PostgreSQL

1 引言 在现代的应用开发中,数据库是存储和管理数据的关键组件。PostgreSQL 是一种强大的开源关系型数据库,而 WebFlux 是 Spring 框架提供的响应式编程模型。本文将介绍如何使用 Reactor 和 WebFlux 集成 PostgreSQL,实现响应式的数据库访问…...

红队打靶:Me and My Girlfriend打靶思路详解(vulnhub)

目录 写在开头 第一步:主机发现和端口扫描 第二步:Web渗透(修改XFF代理) 第三步:数据库手工枚举 第四步:sudo php提权 总结与思考 写在开头 本篇博客在自己的理解之上根据大佬红队笔记的视频进行…...

Mysql高级——索引(2)

常见索引 索引分类 在MySQL数据库,将索引的具体类型主要分为以下几类:主键索引、唯一索引、常规索引、全文索引。 分类含义特点关键字主键索引针对于表中主键创建的索引默认自动创建, 只能有一个PRIMARY唯一索引避免同一个表中某数据列中的值重复可以…...

【史上最硬核分享】Docker+jenkinsPipeline 运行实现 python 自动化(超详细)

一、实现思路 在 Linux 服务器安装 docker创建 jenkins 容器jenkins 中创建 pipeline 项目根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目执行完成之后删除容器 二、环境准备 Linu…...

leetcode 3. 无重复字符的最长子串

2023.9.15 本题我用的暴力双层for循环 unordered_set 解决的,外循环控制字符起始位置,内循环将字符放入 unordered_set,并查找有无重复的元素。 用了一个全局变量记录最长字串的长度,局部变量count记录当前层循环的最长子串长度…...

doccano 文本标注工具使用

最近在做面向大模型的文本标注工作,涉及到多人协同的问题,因此用到了doccano工具。 这个工具可以使用docker进行安装,安装之后的启动也都比较简单。 关于基础使用(例如管理员登录、新建任务、上传数据集等)&#xff…...

快速排序算法的递归和非递归

基本思路 选择一个基准值,将数组划分三个区域,小于基准值的区域位于左侧,等于基准值的区域位于中间,大于基准值的区域位于右侧。将大于和小于区域继续进行分区,周而复始,不断进行分区和交换,直…...

Maven无法拉取SNAPSHOT依赖的解决办法

背景 自己所在的部门主要是为其他项目组提供基础组件,如果需要使用新特性,其他项目组还会经常引用SNAPSHOT版本的组件进行开发测试。平时自己做测试的时候,因为手里有源码,所以每次都是先执行 mvn install 在本地安装后&#xff…...

day16-面向对象综合练习(上)

1. 设计游戏的目的 锻炼逻辑思维能力利用Java的图形化界面,写一个项目,知道前面学习的知识点在实际开发中的应用场景 2. 游戏的最终效果呈现 Hello,各位同学大家好。今天,我们要写一个非常有意思的小游戏 —《拼图小游戏》 我们…...

在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发环境

目录 在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发环境一 Fyne 和 MSYS2简介1.1 Fyne1.2 MSYS2 二 安装 MSYS22.1 下载MSYS22.2 安装2.3 环境变量设置2.4 检测安装环境 三 参考文档 在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发…...

漫谈:C、C++字符串的困局

由于历史的原因,C、C字符串是个很让程序员头疼的东西。 字符串被解读为字符数组,但是又不等价于字符数组,而是带有附加的结束符的字符数组。 结束符‘\0’也是一个字符,但是又不计算在字符串长度里面(strlen&#xff0…...

基于python+selenium的自动批量添加

场景 点击添加”新增“按钮,弹出”新增对话框“,输入各种数据,然后点击”确定“按钮,如此循环。数量多,这样操作累人。 selenium Selenium 是一个用于自动化 Web 浏览器操作的库,可以实现模拟点击、输入…...

gdb监视

怀疑踩内存了,如何利用gdb监视一段内存的值 在实际情况中,如果怀疑一个进程中的变量被踩内存了,但是不知道什么时候会被踩,就可以用下面的方法进行debug。GDB(GNU Debugger)是一个功能强大的调试工具&…...

STM32基础知识点总结

一、基础知识点 1、课程体系介绍 单片机概述arm体系结构STM32开发环境搭建 STM32-GPIO编程-点亮世界的那盏灯 STM32-USART串口应用SPI液晶屏 STM32-中断系统 STM32-时钟系统 STM32-ADC DMA 温湿度传感器-DHT11 2.如何学习单片机课程 多听理论、多理解、有问题及时提问 自己多…...

Python vs C#:首先学习哪种编程语言最好?

进入编码可能很困难。 最艰难的部分? 决定先学什么语言。 当谈到 Python 与 C# 时,可能很难知道在您的决定中要考虑哪些因素。 我们为您提供了有关这些全明星编程语言的所有信息。 什么是 C#? 自 2000 年作为 Microsoft Visual Studio 的一部分开发 C# 以来,它一直是开发人…...

代理IP和Socks5代理:跨界电商与全球爬虫的关键技术

跨界电商在全球化市场中崭露头角,而代理IP和Socks5代理则成为实现全球市场洞察和数据采集的不可或缺的工具。本文将深入探讨这两种代理技术在跨界电商、爬虫技术和出海战略中的关键作用。 引言: 介绍跨界电商的崛起和全球市场的机遇与挑战。引出代理IP…...

CentOS 7 调优之周期性的访问中断

文章目录 背景问题描述原因分析解决方案相关版本 背景 操作系统版本:CentOS Linux release 7.6.1810 (Core) 操作系统镜像安装后,未进行任何调整。正常部署应用,应用在 CentOS 7.9 未出现过此类现象。 问题描述 问题描述:负载教…...

SpringBoot表现层数据一致性

1.定义Restful类 说明:使用Data注解是Lombok库提供的一个注解,用于自动生成类的getter、setter、equals、hashcode和toString方法。 package com.forever.controller.utils;import lombok.Data;Data public class Restful {private Boolean flag;//dat…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...