Nie. Nie w świecie Unixów, w każdym razie.
Jeśli zajrzysz do wnętrza systemu plików DBMS lub Unix (ish), mogą one łatwo skracać lub rozszerzać zbiory danych na początku, na końcu lub w dowolnym miejscu w środku. Ale nie eksportują tej funkcji; nie jest częścią dziedzictwa API Uniksa ani standardu POSIX, więc wszelkie API "skracania na początku" lub "rozszerzania na początku" byłyby niestandardowe ("zastrzeżone").
Marginalna użyteczność takich funkcji również jest niejasna. Kto by z nich skorzystał? Jak często?
Pliki uniksowe (płaskie sekwencje bajtów/znaków) sprawdziły się jako proste i skuteczne w kodzie aplikacji, ale stanowią słabą podstawę dla warstwowych struktur danych. Dwadzieścia pięć lat temu to oświadczenie było dyskusyjne; dziś jest to tylko obserwowana rzeczywistość historyczna.
Deweloperzy Unixa twierdzili, że "wszystko można zredukować do plików" i "możemy uzyskać assemiczny dostęp poprzez sprytne poszukiwanie". Twierdzenia te jednak nigdy się nie udało. Unix nigdy, na przykład, nie pasował do zarządzania rekordami dostępu losowego systemów operacyjnych minikomputerów i komputerów mainframe (na przykład DEC RMS, IBM ISAM i VSAM). Podczas gdy te implementujące systemy plików, kolejki, próby, relacyjne bazy danych i magazyny obiektów czasami upuszczają zawartość do plików i używają plików do sekwencyjnych operacji, takich jak rejestrowanie, ale rzadko zależą od strumieni znaków w ich formacie niskiego poziomu. Zamiast tego używają struktur takich jak drzewa B i tabele mieszania, aby bezpośrednio zarządzać blokami dysku, segmentami pamięci i innymi zasobami bazowymi.
Strumienie znaków należą do tabel, dokumentów i obiektów - abstrakcje odpowiednie dla aplikacji klienckich. Jeśli chcesz kolejkę, rozważ wykorzystanie istniejącego oprogramowania pośredniego (np. RabbitMQ, ZeroMQ, REDIS, niektóre menedżer DBMS), które już to obejmuje. Jeśli musisz zbudować to sam, prawdopodobnie nie zbudowałbyś go na uproszczonej abstrakcji strumienia znaków. Więc podczas skracania/rozszerzania na początku jest potencjalnie przydatne dla niektórych rzeczy (przycinanie dziennika zamiast segmentacji rotacji dziennika, np.), Jest mało prawdopodobne, aby być Wielką Wygraną dla większości implementacji struktury danych.
Close-wyborców ... prosząc o API Linux w zasadzie sprawia, że to „pytanie na temat programowania.” Jeśli czujesz się źle, nie będąc w stanie odpowiedzieć, idź dąsać się gdzieś indziej. – Potatoswatter