easyswoole3.5 redis使用

安装redis指定版本

composer require easyswoole/redis:^1.3
redis配置,dev.php
<?phpuse EasySwoole\Log\LoggerInterface;return ['SERVER_NAME' => "EasySwoole",'MAIN_SERVER' => ['LISTEN_ADDRESS' => '0.0.0.0','PORT' => 9503,'SERVER_TYPE' => EASYSWOOLE_WEB_SERVER, //可选为 EASYSWOOLE_SERVER  EASYSWOOLE_WEB_SERVER EASYSWOOLE_WEB_SOCKET_SERVER'SOCK_TYPE' => SWOOLE_TCP,'RUN_MODEL' => SWOOLE_PROCESS,'SETTING' => ['worker_num' => 8,'reload_async' => true,'max_wait_time' => 3],'TASK' => ['workerNum' => 4,'maxRunningNum' => 128,'timeout' => 15]],"LOG" => ['dir' => null,'level' => LoggerInterface::LOG_LEVEL_DEBUG,'handler' => null,'logConsole' => true,'displayConsole' => true,'ignoreCategory' => []],'TEMP_DIR' => null,// 添加 Redis 及对应的连接池配置/*################ REDIS CONFIG ##################*/'REDIS' => ['host' => '127.0.0.1', // Redis 地址'port' => '6379', // Redis 端口'auth' => '', // Redis 密码'timeout' => 3.0, // Redis 操作超时时间'reconnectTimes' => 3, // Redis 自动重连次数'db' => 0, // Redis 库],
];
EasySwooleEvent.php,加入预加载
   public static function initialize(){date_default_timezone_set('Asia/Shanghai');$rdConfig = new RedisConfig(Config::getInstance()->getConf('REDIS'));RedisPool::getInstance()->register($rdConfig);}

控制器使用

public function getOne(){$param = ContextManager::getInstance()->get('param');$redis =  RedisPool::defer();//redis 操作$redisData = $redis->get($this->key.$param['id']);if ($redisData) {$this->writeJson(Status::CODE_OK, json_decode($redisData, true), "获取数据成功.");return false;}$model = new StudentModel();try {$info = $model->where('id', $param['id'])->get();} catch (Exception|\EasySwoole\ORM\Exception\Exception|\Throwable $e) {$this->writeJson(Status::CODE_BAD_REQUEST, [], $e->getMessage());return false;}if (!$info) {$this->writeJson(400, [], '该数据不存在');return false;}$redis->set($this->key.$param['id'], json_encode($info, JSON_UNESCAPED_UNICODE), $this->time);$this->writeJson(Status::CODE_OK, $info, "获取数据成功.");}

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

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

相关文章

MySQL之性能剖析(三)

剖析MySQL查询 剖析单条查询 在定位到需要优化的单条查询后&#xff0c;可以针对查询"钻取"更多的信息&#xff0c;确认为什么会花费这么长的时间执行&#xff0c;以及需要如何去优化。不幸的是&#xff0c;MySQL目前大多数的测量点对于剖析查询都没有什么帮助。当…

Python | Leetcode Python题解之第100题相同的树

题目&#xff1a; 题解&#xff1a; class Solution:def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:if not p and not q:return Trueif not p or not q:return Falsequeue1 collections.deque([p])queue2 collections.deque([q])while queue1 and queue2:node…

网络拓扑—FTP服务搭建

文章目录 FTP服务搭建网络拓扑配置网络FTPPC 安装FTP服务配置FTP服务FTP用户配置—1PC机访问FTP站点IE浏览器访问终端访问 FTP用户配置—2PC机访问ftp站点IE浏览器访问终端访问 FTP服务搭建 网络拓扑 //交换机忽略不计 FTP服务IP&#xff1a;192.168.1.1 PC机IP&#xff1a;19…

多级留言/评论的功能实现——Vue3前端篇

文章目录 思路分析封装组件父组件模板逻辑样式 子组件——二级留言模板逻辑样式 子组件——三级留言以上模板逻辑样式 留言组件的使用 写完论文了&#xff0c;来把评论的前端部分补一下。 前端的实现思路是自己摸索出来的&#xff0c;没找到可以符合自己需求的参考&#xff0c;…

windows 7 10 11快捷键到启动页面

1.快速打开用户启动文件夹 shell:startup 方式2&#xff1a;快速打开系统启动文件夹 shell:Common Startup shell:Common Startup

编译器 编译过程 compiling 动态链接库 Linking 接口ABI LTO PGO inline bazel增量编译

编译器 编译过程 compiling 动态链接库 Linking 接口ABI LTO PGO Theory Shared Library Symbol Conflicts (on Linux) 从左往右查找:Note that the linker only looks further down the line when looking for symbols used by but not defined in the current lib.Linux 下…

统计信号处理基础 习题解答10-4

题目&#xff1a; 重复习题10.3&#xff0c;但条件PDF变为&#xff1a; 以及均匀先验。如果非常大&#xff0c;这样先验知识很少&#xff0c;则会出现什么情况。 解答&#xff1a; 如果记 那么&#xff0c;根据条件独立性质&#xff0c;得到&#xff1a; 其中&#xff0c;&am…

linux 生成可执行文件

pip install pyinstaller pyinstaller --onefile xunhuan.py 在centos系统中&#xff0c;安装pyinstaller&#xff0c;然后执行命令&#xff0c;生成文件可以直接调用&#xff0c;比如 /root/dist/xunhuan 在/root/目录下&#xff0c;系统环境一般问题很大&#xff0c;找到…

java单元测试:使用Mockito模拟外部依赖

使用Mock对象来模拟外部依赖是单元测试中的重要技巧&#xff0c;特别是在你需要测试的代码依赖于外部系统&#xff08;如数据库、网络服务等&#xff09;时。Mock对象允许你在不实际调用这些外部系统的情况下测试代码的行为&#xff0c;从而提高测试的独立性和执行速度。 什么…

巧用count与count()

在C#中&#xff0c;talentInnoPfChains.Count() 和 talentInnoPfChains.Count 的性能差异主要取决于 talentInnoPfChains 的类型。这里有两种可能的情况&#xff1a; 如果 talentInnoPfChains 是一个实现了 ICollection<T> 接口的集合&#xff08;如 List<T>, Hash…

NLP与训练模型-GPT-3:探索人工智能语言生成的新纪元

在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;一直是备受关注的研究方向之一。随着深度学习技术的发展&#xff0c;尤其是Transformer模型的出现&#xff0c;NLP领域取得了巨大的进步。其中&#xff0c;由OpenAI推出的GPT-3模型更是引起了广泛的关注和热…

SwiftUI中的组合动画(Simultaneous, Sequenced, Exclusive)

了解了常见的几种手势后&#xff0c;接下来我们了解一下组合手势的操作&#xff0c;当一个视图存在多个手势的时候&#xff0c;为了避免手势冲突&#xff0c;SwiftUI提供了自定义手势的方法&#xff0c;比如同时进行&#xff0c;顺序进行等等。 以下是一些常见的多种手势组合使…

关于AI绘画的模型、开源项目、工具、技巧的学习

目录 一、AI绘画的大模型有哪些&#xff1f; 二、Stable Diffusion是一个流行的AI绘画开源项目。 三、AI绘画的开源工具有哪些&#xff1f; 四、AI绘画的技巧 五、最简单的实践 一、AI绘画的大模型有哪些&#xff1f; AI绘画领域中存在多种大模型&#xff0c;每种模型都有…

渗透测试 一个很奇怪的支付漏洞

新手实战刷课网站、好玩又有趣&#xff01; 第一步 打开网站、任意账户名密码登陆发现验证码可重复利用 这时候我们可以试试admin账号、发现如果账号正确会提示账户已存在、反之回显账户密码错误 第二步 既然验证码可以重复利用&#xff1b;而且账号名有回显 这时候我们试…

学习使用博客记录生活

学习使用博客记录生活 新的改变 今天新的开始&#xff0c;让我用图片开始记录吧 看这个背景图片怎么样

人生苦短,我学python之数据类型(上)

个人主页&#xff1a;星纭-CSDN博客 系列文章专栏&#xff1a;Python 踏上取经路&#xff0c;比抵达灵山更重要&#xff01;一起努力一起进步&#xff01; 目录 一.元组 &#xff08;tuple&#xff09; 二.集合&#xff08;set&#xff09; 三.字典(dict) 一.元组 &#…

docker 清空所有镜像日志

Docker清空所有镜像日志流程 1. 查看当前运行的容器 首先&#xff0c;我们需要查看当前正在运行的容器&#xff0c;以确定需要清空日志的容器。 可以使用以下命令查看当前正在运行的容器&#xff1a; docker ps 1. 2. 停止所有运行中的容器 在清空镜像日志之前&#xff0c;我…

MySQL存储过程for循环处理查询结果

在MySQL数据库中&#xff0c;存储过程是一种预编译的SQL语句集&#xff0c;可以被多次调用。在MySQL中使用存储过程查询到结果后&#xff0c;有时候需要对这些结果进行循环处理。 1. 创建表 CREATE TABLE t_job (job_id int(11) unsigned NOT NULL AUTO_INCREMENT,job_name v…

深入了解银行信用卡催收系统

银行信用卡催收系统是一个专门用于管理和执行信用卡逾期账款催收工作的系统。该系统通常具备以下关键功能和特点&#xff1a; 智能呼叫系统&#xff1a;具备自动拨号功能&#xff0c;可以批量拨打逾期客户的电话&#xff0c;播放定制的催收录音信息或直接连接到人工坐席。此外…