一个redis的连接库的实现

import socket

def format_message( args):
    """
        Create redis message

        :param args:
            Message data
    """
    l = u"*%d" % len(args)
    lines = [l.encode('utf-8')]
    for arg in args:
        if not isinstance(arg, (str,unicode)):
            arg = str(arg)
        if isinstance(arg, unicode):
            arg = arg.encode('utf-8')
        l = u"$%d" % len(arg)
        lines.append(l.encode('utf-8'))
        lines.append(arg)
    lines.append(b"")
    return b"\r\n".join(lines)

def get( key):
    """
    Get the value of a key

        :param key:

    Complexity
    ----------
    O(1)
    """
    args = ["GET"]
    args.append(key)
    return format_message(args)

socCli = socket.socket()
try:
    socCli.connect(('192.168.1.115', 6379))
except:
    print 'connect has failed'

get_data=get("wdm")
try:
    len=socCli.send(get_data)
    if not len:
        socCli.close()
        print 'connect has closed'
except:
    print "send has failed"

if len>0:
    try:
        get_data=socCli.recv(1024)
        if not get_data:
            socCli.close()
            print "read closed "
    except:
        print 'read failed'
print get_data
223916_bL9y_2663968.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值