I am currently evaluating RaiDrive Individual. I have two connected sources: pCloud and SFTP. I have configured Settings, Temporary Lifetime Read and Write to the maximum of 30 days. This does help improve speed for data that exists in cache; however, as soon as I either disconnect or reboot Windows, all cached data gets removed. I am seeing many people have requested to stop deleting cached data, but it keeps getting deleted. Will cached data become permanent at some point in the future? If no, can the number of days be increased above 30? I would like to see 180 days.
My use case is to play FLAC files from my Windows 11 computer. When these files do not exist in cache, there is a long delay in download that is undesired. These files do not change, and I play each one at least once every 100 days or so. I would like to see a permanent cache feature. Also, I am not seeing a way of forcing an update other than disconnecting then reconnecting. I did try the async update feature, but this results in very slow file access above and beyond simple downloads. I disabled this after the slowdown.
I had severe thunderstorms followed by a power outage last night. I just had power restored this morning. My computer lost power, and I had to power it on earlier. I have lost all cached data as a result, and RaiDrive is slow again now re-loading all of my media content through foobar2000.
It is now again taking 24 hours to scan tag data using Tag & Rename. I spent this time the first day after install. Once it is cached, the scan becomes faster and completes quickly.
At this point, I have no plans to continue post trial if I always lose cached data every reboot or disconnect.
I would appreciate feedback from the RaiDrive team.
Blockquote
My use case is to play FLAC files from my Windows 11 computer. When these files do not exist in cache, there is a long delay in download that is undesired. These files do not change, and I play each one at least once every 100 days or so. I would like to see a permanent cache feature. Also, I am not seeing a way of forcing an update other than disconnecting then reconnecting. I did try the async update feature, but this results in very slow file access above and beyond simple downloads. I disabled this after the slowdown.
A couple of notes after using Raidrive for some time: #1 Raidrive will automatically update the contents of my mapped drive. I may force a refresh via refreshing the mapped drive from WIndows File Explorer (the F5 key). After I press F5, the explorer content gets updated with changes from the server. Without even pressing F5, the content will automatically get updated with changes from the server on its own. Pressing F5 forces an instant update.
#2 I created a Powershell script that will automatically load all FLAC files into local cache. This works nicely after reboots or shutdowns to ensure that my Raidrive content gets loaded into cache. I use File Locator Pro to search for all *.flac files. After I receive results, I export the results to an XML file. Last, I use XSLT to generate a Powershell 7 script that performs a flac -t test against all content. I simply run this script to load all data into cache after reboots. Over 31,000 FLAC files takes about three to four days to completely load. This works perfectly for foobar2000 and results in instantaneously play of all content.
Here’s an example of portions of my Powershell script that I execute:
This XSLT requires XSLT 2.0. Saxon has an open-source freely available XSLT 2.0 Java transform engine. A Google search will find it. This is compatible with FIle Locator Pro XML schema. FiIle Locator Pro is not free. Everything else to complete this is free. Note that I also added command-line FLAC to my path. This is how “FLAC.exe” works as the FIlePath in my PowerShell script. It exists in my path.
Also, I use 64-bit PowerShell 7 that is compatible with UTF-8 directory and file paths. CMD and BAT are not compatible with UTF-8 and will not work properly. PowerShell 7 fixes these UTF-8 issues.
I have updated my PowerShell script to simplify it. This one is now standalone and will find and cache all FLAC files on its own without requiring any additional tools or utilities. This is a standard PowerShell 7 script that does everything on its own. For best results, perform a search on your mounted drive for all *.flac files. This will cache the directory list and allow the script to start sooner. Also, change the $rootDir variable on line two to match your mounted drive and parent directory:
# Define the root directory to search
$rootDir = "E:\"
# Function to test a FLAC file with progress indication
function Test-FlacFile {
param(
[string]$FilePath,
[int]$CurrentIndex,
[int]$TotalCount
)
# Calculate percentage
$percentage = [math]::Round(($CurrentIndex / $TotalCount) * 100, 1)
# Display file path with progress
Write-Host "[$CurrentIndex/$TotalCount - $percentage%] $FilePath" -ForegroundColor Cyan
$process = Start-Process -PassThru -WindowStyle Hidden -FilePath "FLAC.exe" -ArgumentList "-t `"$FilePath`""
Wait-Process -InputObject $process
if ($process.ExitCode -eq 0) {
Write-Host "PASS" -ForegroundColor Green
} else {
Write-Host "FAIL" -ForegroundColor Red
}
return $process.ExitCode
}
# Check if root directory exists
if (-not (Test-Path $rootDir)) {
Write-Host "Error: Root directory '$rootDir' does not exist." -ForegroundColor Red
exit 1
}
# Discover all FLAC files recursively and sort them
Write-Host "Searching for FLAC files in '$rootDir'..." -ForegroundColor Yellow
$flacFiles = Get-ChildItem -Path $rootDir -Filter "*.flac" -Recurse -File | Sort-Object FullName
if ($flacFiles.Count -eq 0) {
Write-Host "No FLAC files found in '$rootDir' or its subdirectories." -ForegroundColor Yellow
exit 0
}
Write-Host "Found $($flacFiles.Count) FLAC file(s). Starting tests..." -ForegroundColor Yellow
Write-Host ""
# Initialize counters
$totalFiles = $flacFiles.Count
$passedFiles = 0
$failedFiles = 0
# Test each discovered FLAC file with progress tracking
for ($i = 0; $i -lt $flacFiles.Count; $i++) {
$currentIndex = $i + 1 # 1-based indexing for display
$file = $flacFiles[$i]
$exitCode = Test-FlacFile -FilePath $file.FullName -CurrentIndex $currentIndex -TotalCount $totalFiles
if ($exitCode -eq 0) {
$passedFiles++
} else {
$failedFiles++
}
}
# Display summary
Write-Host $("=" * 50) -ForegroundColor Gray
Write-Host "SUMMARY:" -ForegroundColor White
Write-Host "Total files tested: $totalFiles" -ForegroundColor White
Write-Host "Passed: $passedFiles" -ForegroundColor Green
Write-Host "Failed: $failedFiles" -ForegroundColor Red
Write-Host $("=" * 50) -ForegroundColor Gray
# Exit with appropriate code
if ($failedFiles -gt 0) {
exit 1
} else {
exit 0
}