easyswoole3.5 redis使用详细解析
安装redis指定版本
composer require easyswoole/redis:^1.3
redis配置,dev.php
"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, "获取数据成功.");
}
栏 目:其它数据库
下一篇:深入解析RedisJSON之如何在Redis中直接处理JSON数据
本文标题:easyswoole3.5 redis使用详细解析
本文地址:https://zz.feitang.co/shujuku/28177.html
您可能感兴趣的文章
- 12-20使用DataGrip连接Hive的详细步骤
- 12-20debian10 mariadb安装过程详解
- 12-20MySQL索引失效的几种情况详析
- 12-20详解mysql持久化统计信息
- 12-20Robo可视化mongoDb实现操作解析
- 12-20MySQL 字段 LIKE 多个值
- 12-20Redis fork进程分配不到内存解决方案
- 12-20mysql插入前判断数据是否存在的操作
- 12-20基于navicat连接登录windows10本地wsl数据库
- 12-20Linux安装MariaDB数据库的实例详解


阅读排行
推荐教程
- 12-07mysql存储过程太慢怎么办
- 12-06redis通信协议(protocol)
- 12-05mysql的事务,隔离级别和锁用法实例分析
- 12-04MySQL一次性创建表格存储过程实战
- 12-03深入理解Redis内存淘汰策略
- 12-20PhpMyAdmin出现错误数据无法导出怎么办?
- 12-19Redis中实现查找某个值的范围
- 12-15浅析mysql迁移到clickhouse的5种方法
- 12-15CentOS7 64位下MySQL5.7安装与配置教程
- 12-14Mysql大型SQL文件快速恢复方案分享





