Skip to content

Instantly share code, notes, and snippets.

@JohnSully
Created June 15, 2020 01:23
Show Gist options
  • Save JohnSully/4e936daf3986b4a0995b8a4c776c10b8 to your computer and use it in GitHub Desktop.
Save JohnSully/4e936daf3986b4a0995b8a4c776c10b8 to your computer and use it in GitHub Desktop.
A quick script to set and get LZ4 compressed data from KeyDB or Redis.
import lz4.frame
import redis
import sys
if (len(sys.argv) != 3):
print("Usage: " + sys.argv[0] + " [set/get] [keyname]")
print("\tFor GET data should be piped to stdin")
sys.exit(1)
r = redis.Redis(host='localhost', port=6379, db=0)
if (sys.argv[1].lower() == "set"):
data = sys.stdin.buffer.read()
cdata = lz4.frame.compress(data)
print("Original size: " + str(len(data)) + " compressed: " + str(len(cdata)))
r.set(sys.argv[2], cdata)
elif (sys.argv[1].lower() == "get"):
cdata = r.get(sys.argv[2])
data = lz4.frame.decompress(cdata)
sys.stdout.buffer.write(data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment