Skip to content

Instantly share code, notes, and snippets.

@reterVision
Last active December 25, 2015 20:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save reterVision/7037762 to your computer and use it in GitHub Desktop.
Save reterVision/7037762 to your computer and use it in GitHub Desktop.
An extremely simple example showing you how to write a Redis Client
# Slideshare link: http://www.slideshare.net/ChaoGao1/write-a-redis-client
import socket
tcp_host = '127.0.0.1'
tcp_port = 6379
tcp_timeout = 10000
buffer_size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(tcp_timeout)
s.connect((tcp_host, tcp_port))
# Send a simple get request =>
# r.get("my_key")
msg = "*2\r\n$3\r\nGET\r\n$6\r\nmy_key\r\n"
s.send(msg)
data = s.recv(buffer_size)
print data
# Send a simple pipeline request =>
# r.set("my_key", "HAHA")
# r.get("my_key")
msg = "*3\r\n$3\r\nSET\r\n$6\r\nmy_key\r\n$4\r\nHAHA\r\n*2\r\n$3\r\nGET\r\n$6\r\nmy_key\r\n"
s.send(msg)
data = s.recv(buffer_size)
print data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment