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

php Rides 存入list类型,然后拿2000条,后去除Rides2000条

1、数据存入 Rides

/*------------------------data数据存入rides数据库-----------------------------*/
function _setByTj4($data)
{
    global $redis4;
    if (!$redis4) {
        $redis4 = new Redis();
        $redis4->connect('127.0.0.1');

        // 选择数据库,例如数据库3
        $redis4->select(4);
    }
    $jsonString = json_encode($data, true);
    $redis4->rPush('sqlQueue', $jsonString);
}

2、读取并删除Rides对应读取内容
 

// 连接到 Redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->select(4);

// 从头部删除并返回指定数量的元素
function popLeftElements($listName, $count)
{
    global $redis;

    // 获取列表的前 count 个元素
    $elements = $redis->lRange($listName, 0, $count - 1);

    // 删除这些元素
    $redis->lTrim($listName, $count, -1);

    return $elements;
}

// 删除并返回前2000个元素
$removedElements = popLeftElements('sqlQueue', 2000);

$result = array_map(function ($json) {
    return json_decode($json, true); // 将 JSON 字符串转换为数组
}, $removedElements);


// 构建批量插入SQL语句
$sql = "INSERT INTO access_records (member_id,ip,url,headers,source,addTime,wxopenid) VALUES ";

$valuesArr = [];
foreach ($result as $row) {
    $member_id = $row['member_id'] ? $row['member_id'] : 0;
    $ip = $row['ip'] ? $row['ip'] : '';
    $url = $row['url'] ? $row['url'] : '';
    $headers = $row['headers'] ? $row['headers'] : '';
    $source = $row['source'] ? $row['source'] : '';
    $addTime = $row['addTime'];
    $wxopenid = $row['wxopenid'] ? $row['wxopenid'] : '';
    $valuesArr[] = "('{$member_id}', '{$ip}', '{$url}', '{$headers}', '{$source}', '{$addTime}', '{$wxopenid}')";
}
$sql .= implode(", ", $valuesArr);
_query($sql);
echo '执行成功' . count($result) . '条';


http://www.kler.cn/a/383461.html

相关文章:

  • 在 Ubuntu 上安装 VS Code
  • MimicBrush:智能图像编辑新宠,能否革新你的创意设计?
  • Java 中压缩图片并应用 EXIF 旋转信息
  • 重温设计模式--状态模式
  • C++中的字符串实现
  • typora数学符号
  • SpringBoot整合Freemarker(二)
  • PHP反射API与面向对象编程:当“魔镜”遇上“家族聚会”
  • 域迁移相关数据集生成脚本
  • sql纵表转横表
  • WPF界面控件Essential Studio for WPF更新至2024 v3,具有更高性能 | 附下载
  • 看电动缸是如何提高农机的自动化水平
  • SQL 专项练习题(合集)
  • 《通过 Jmeter 压测存储过程详解》
  • Gitlab-执行器为Kubetnetes时的注意事项,解决DNS解析问题
  • 基于ExtendSim的库存与订购实验
  • spring-data-jpa 一对多,多对一,多对多
  • PathVariable annotation was empty on param 0.问题解决
  • 《C语言程序设计现代方法》note-3 选择语句 循环语句
  • C++(一)
  • 开学轻松逆袭孩子的学习利器培养自律习惯,提高学习效率❗❗让习惯养成更轻松~
  • 【Rust Crate之Actix Web(一)】
  • Sigrity Power SI 3D-EM Inductance Extraction模式如何进行电感的提取操作指导(一)
  • 计算机体系结构知识(二)-gdb和args
  • Linux -- 初识线程
  • 【鉴权】OAuth 2.0: 高度灵活与安全的身份认证框架