全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1092|回复: 10

[疑问] 谁有空帮我写个API!

[复制链接]
发表于 2024-3-14 20:27:53 | 显示全部楼层 |阅读模式
本帖最后由 暖风 于 2024-3-14 21:48 编辑

写好了,谢谢!
发表于 2024-3-14 21:25:07 | 显示全部楼层
用redis吧, 文件实现不了高并发, 文件要用锁
发表于 2024-3-14 20:32:00 | 显示全部楼层

你可以使用Python的Flask框架编写这样的API。下面是一个简单的示例代码:
from flask import Flask
import threading

app = Flask(__name__)
lock = threading.Lock()
data_file = 'data.txt'

def get_data():
    with open(data_file, 'r') as file:
        lines = file.readlines()
        if lines:
            data = lines[0].strip()
            with lock:
                with open(data_file, 'w') as file:
                    file.writelines(lines[1:])
            return data
        else:
            return None

@app.route('/')
def index():
    return get_data() or 'No data available'

if __name__ == '__main__':
    app.run(debug=True)
发表于 2024-3-14 20:35:32 | 显示全部楼层
txt文件是不可能高并发的
发表于 2024-3-14 20:38:56 | 显示全部楼层
把txt读入缓存,可以做到高并发,问问GPT吧,很简单
发表于 2024-3-14 20:39:45 | 显示全部楼层
用sqlite吧

发表于 2024-3-14 20:53:04 | 显示全部楼层
<?php
// 获取文件路径
$file = 'neirong.txt';

// 打开文件并获取文件锁
$fp = fopen($file, 'r+');
if(flock($fp, LOCK_EX)) { // do an exclusive lock

    // 读取文件所有内容并转为数组(每行为一个元素)
    $lines = file($file);
   
    // 取出数组第一行,并删除
    $output = array_shift($lines);

    // 把剩余内容写回文件
    ftruncate($fp, 0); // truncate file
    fseek($fp, 0); // rewind file pointer
    foreach($lines as $line) {
        fwrite($fp, $line);
    }

    // 释放文件锁并关闭文件
    flock($fp, LOCK_UN); // release the lock
}
fclose($fp);

// 输出被删除的那一行
echo $output;
?>
不过你要的高并发这样就不行了!
发表于 2024-3-14 21:02:25 来自手机 | 显示全部楼层
这么简单的东西问gpt就行
发表于 2024-3-14 21:20:01 | 显示全部楼层
你想用什么语言
发表于 2024-3-14 21:33:37 | 显示全部楼层
独木桥怎么过千军万马
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-3 02:21 , Processed in 0.093161 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表