9 releases
0.3.8 | Sep 27, 2024 |
---|---|
0.3.7 | Jul 5, 2024 |
0.3.4 | Apr 12, 2024 |
0.2.7 | Jan 10, 2024 |
0.2.4 |
|
#593 in Database interfaces
40 downloads per month
22KB
420 lines
cmd_cachier
is a very fast caching tool for your cli commands. It is
intended to save output of cli commands like find or fd. My goal was to
make it feel instant once you pair it with a fuzzy finder like fzf
.
It is basically a light wrapper around redis (an in-memory database) where the command itself is the key and the output is the value.
Documentation
Announcements
About: Redis license change
As redis has changed it’s license and will not be included in most popular linux distros anymore. I have been testing out KeyDB and ValKey which are forks and/or are redis compatible. I have found that redis-rs still works well with either of these backends so once these packages start hitting official repos I will start supporting one or both of these backends.
0.3 Release
This release features a configureless usage. You only have to make sure redis is installed. Before it would run redis on the default redis port and it would be the system wide redis process. Which could cause conflicts if your redis configuration differs from what cmd_cachier expects.
Now every user has their own redis process.
That process is spawned once you use the cmd_cachier command the first time since reboot. From then on it keeps running in the background.
Also now the redis instance listens on a unix domain socket instead of TCP(I think?). The socket is in a user owned directory and is only readable by the user. Which should increase security quite a bit. But still, please don’t put your passwords in the cache!
I am happy how this release has turned out and hope you like it too! Make sure to see the examples in the docs.
My thanks go out to the redis team and the contributors behind redis-rs!
Install
Dependencies
Runtime
redis
Build (cmd_cachier)
-
cargo
with rustc (oldest tested version is rustc 1.68)-
colored
2.0.4 library (automatically pulled by cargo) -
redis-rs
library (automatically pulled by cargo) -
Command
library (automatically pulled by cargo)
-
-
make
orgnumake
usually already installed
Build (docs)
-
asciidoctor
- the manpage is authored in asciidoc -
python
3.11 or greater - for some templating (versioning, dates, etc.)
Optional
man
usually already installed
Via GitLab
Clone repo:
git clone git@github.com:inyourfoss/cmd_cachier.git
Move into repo directory:
cd cmd_cachier
Build project:
make build
Execute installation:
sudo make systeminstall # Or
Or:
make install # manpage won't work on non-systeminstall
Via crates.io
As of now the man page will not work as it is only a user space install.
cargo install cmd_cachier
Usage
See manpage here.
Setting up Redis
Note
As of Version 0.3.0 redis does not need further setup apart from
installing it. cmd_cachier
can now spawn its own redis process which
is user specific. It will launch the redis instance in the background
the first time you use cmd_cachier <ANY_COMMAND>
if it is not already
running.
Important: the cache is not persistent across booting.
Installation
RHEL/Fedora
sudo dnf install redis
Debian/Ubuntu
sudo apt install redis
MacOS
brew install redis
Dependencies
~4–11MB
~128K SLoC