Karp 的技术博客
主页
最新
踩坑教训
数据库
操作系统
Nginx
协议
编程语言
容器
网络安全
其他
踩坑教训
[踩坑] Websocket 增量推送

最近开发新功能 有借助 webscocket 推送行情.
发现一个问题, 增量推送 存在丢包现象;
原因:

编程语言
PHP 还原科学计数法
/**
 * 还原科学计数法
 */
public function scToNum($num)
{
    $num = floatval($num);
    $parts = explode('E', $num);
    if (count($parts) != 2) {
        return $num;
    }
    $exp = abs(end($parts)) + 3;
    $decimal = number_format($num, $exp);
    $decimal = rtrim($decimal, '0');

    $toNumber = rtrim($decimal, '.');

    return implode('', explode(',', $toNumber));
}

数据库
PHP 使用 Redis 的 GEO 命令

Redis 提供了 GEO 数据类型和一组命令,用于存储和操作地理位置数据。通过 GEO 命令,您可以存储地理坐标、计算距离、查找附近的地点等。以下是如何在 PHP 中使用 Redis 的 GEO 命令的示例。

编程语言
PHP 实现跳表

跳表(Skip List)是一种用于有序元素集合的数据结构,支持快速的插入、删除和搜索操作。它通过多层链表来实现 O(log n) 的平均时间复杂度。

操作系统
Linux 删除 history 记录

在 Linux 中,您可以通过多种方法删除 shell 的历史记录。以下是几种常见的方法: