...
This commit is contained in:
73
README.md
73
README.md
@@ -1,2 +1,73 @@
|
||||
# sal
|
||||
# SAL (System Abstraction Layer)
|
||||
|
||||
A Rust library that provides a unified interface for interacting with operating system features across different platforms. It abstracts away platform-specific details, allowing developers to write cross-platform code with ease.
|
||||
|
||||
## Features
|
||||
|
||||
- **File System Operations**: Simplified file and directory management
|
||||
- **Process Management**: Create, monitor, and control processes
|
||||
- **System Information**: Access system details and metrics
|
||||
- **Git Integration**: Interface with Git repositories
|
||||
- **Redis Client**: Robust Redis connection management and command execution
|
||||
- **Text Processing**: Utilities for text manipulation and formatting
|
||||
|
||||
## Modules
|
||||
|
||||
### Redis Client
|
||||
|
||||
The Redis client module provides a robust wrapper around the Redis client library for Rust, offering:
|
||||
|
||||
- Automatic connection management and reconnection
|
||||
- Support for both Unix socket and TCP connections
|
||||
- Database selection via environment variables
|
||||
- Thread-safe global client instance
|
||||
- Simple command execution interface
|
||||
|
||||
[View Redis Client Documentation](src/redisclient/README.md)
|
||||
|
||||
### OS Module
|
||||
|
||||
Provides platform-independent interfaces for operating system functionality.
|
||||
|
||||
### Git Module
|
||||
|
||||
Tools for interacting with Git repositories programmatically.
|
||||
|
||||
### Process Module
|
||||
|
||||
Utilities for process creation, monitoring, and management.
|
||||
|
||||
### Text Module
|
||||
|
||||
Text processing utilities for common operations.
|
||||
|
||||
## Usage
|
||||
|
||||
Add this to your `Cargo.toml`:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
sal = "0.1.0"
|
||||
```
|
||||
|
||||
Basic example:
|
||||
|
||||
```rust
|
||||
use sal::redisclient::execute;
|
||||
use redis::cmd;
|
||||
|
||||
fn main() -> redis::RedisResult<()> {
|
||||
// Execute a Redis command
|
||||
let mut cmd = redis::cmd("SET");
|
||||
cmd.arg("example_key").arg("example_value");
|
||||
execute(&mut cmd)?;
|
||||
|
||||
// Retrieve the value
|
||||
let mut get_cmd = redis::cmd("GET");
|
||||
get_cmd.arg("example_key");
|
||||
let value: String = execute(&mut get_cmd)?;
|
||||
println!("Value: {}", value);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
```
|
||||
|
Reference in New Issue
Block a user