Я использую redis для кеширования некоторых моих рабочих процессов CLI. Обычно я храню список путей в redis, чтобы следующий вызов команды не касался диска. Я занимаюсь профилированием, и redis-cli работает медленно для этой цели:
a="$(fd|cat)" # fd is like find, it prints a list of all recursive paths
<<<$a wc -c # size of a
#> 4169786
<<<$a redis-cli -x set hi
redis-cli set hi2 example # a small string for comparison
time (b="$(redis-cli --raw get hi2)")
#> ( b="$(redis-cli --raw get hi2)" ; ) 0.00s user 0.00s system 69% cpu 0.007 total
time (b="$(redis-cli --raw get hi)")
#> ( b="$(redis-cli --raw get hi)" ; ) 0.05s user 0.08s system 124% cpu 0.100 total
time (b="$a")
#> ( b="$a" ; ) 0.01s user 0.00s system 92% cpu 0.018 total
Можно ли как-нибудь ускорить это? Помогло бы сжатие строки? Кстати, я использую redis локально.