Skip to content

Instantly share code, notes, and snippets.

@JohnSully
Created June 22, 2020 02:48
Show Gist options
  • Save JohnSully/502d038cedc6a63fdbc9cc8b998b3084 to your computer and use it in GitHub Desktop.
Save JohnSully/502d038cedc6a63fdbc9cc8b998b3084 to your computer and use it in GitHub Desktop.
import lz4.frame
import redis
import sys
import zlib
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 = zlib.compress(data, level=9)
#cdata = lz4.frame.compress(data, compression_level = lz4.frame.COMPRESSIONLEVEL_MAX)
#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)
data = zlib.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