Python连接redis

一、Redis是流行的NOSQL内存数据库,以Key-Value方式存储数据。

  本篇采用的方式为:Redis安装在Linux主机上,在windows上通过python进行操作redis,并且假设Redis在linux上已经安装完毕,如:redis-server --port 2900  已经10.0.8.40主机2900端口启动服务。

1、安装python-redis扩展包 

  http://pypi.python.org/pypi?%3Aaction=search&term=redis&submit=search

  选择第一个 redis 2.4.13

  进入一个网页,该网页中有该扩展包的使用示例,现在拉到网页的最后面下载安装包,并且解压在 D:\py_package 目录

  下载之后启动windows命令行,执行如下命令

    d:\

    cd py_package

    D:\Python27\python.exe setup.py build

    D:\Python27\python.exe setup.py install

    (注意:由于我的机器上安装了Python2.7 与 Python3.2 版本,才使用python全路径指定python版本,若只安装python一个版本可以直接使用 python setup.py build & install)

2、安装完成,现在来测试下:

  import redis

  r = redis.StrictRedis(host='10.0.8.40', port=2900, db=0)
  print(r.set('zcs','Hello'))

  上述代码中往 10.0.8.40 2900端口号的redis服务器,添加了一个 zcs 的key

  成功时应该打印True

  然后可以到Linux主机上查看: redis-cli -h 10.0.8.40 -p 2900

  get zcs 返回 ‘hello’ 表示成功。

 

安装

   可以去pypi上找到redis的Python模块:

    http://pypi.python.org/pypi?%3Aaction=search&term=redis&submit=search

   然后按照提示down下来redis-py-2.2.1.tar.gz

   非常标准的解压: #tar xvzf redis-py-2.2.1.tar.gz

   进入解压目录,进行Python模块的标准安装:

   python setup.py install

 

运行

   打开Python解释器:

>>> import redis
>>> r = redis.Redis(host='localhost', port=6379, db=0)   #如果设置了密码,就加上password=密码
>>> r.set('foo', 'bar')   #或者写成 r['foo'] = 'bar'
True
>>> r.get('foo')   
'bar'
>>> r.delete('foo')
True
>>> r.dbsize()   #库里有多少key,多少条数据
0
>>> r['test']='OK!'

>>> r.save()   #强行把数据库保存到硬盘。保存时阻塞
True

--------------------------------

>>> r.flushdb()   #删除当前数据库的所有数据
True

 >>> a = r.get('chang')
>>> a    # 因为是Noen对象,什么也不显示!
>>> dir(a)   
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

>>> r.exists('chang')  #看是否存在这个键值
False

>>> r.keys()   # 列出所有键值。(这时候已经存了4个了)
['aaa', 'test', 'bbb', 'key1']

 

附注A:

来看一下redis.Redis的 init() 函数定义:

 __init__(self, host='localhost', port=6379, db=0, password=None, socket_timeout=None, connection_pool=None, charset='utf-
8', errors='strict', decode_responses=False, unix_socket_path=None)

最新的redis 2.6.0加入了连接池,具体用法可以看作者博客。

 

 附注B:

其他命令API,请参照redis-Python作者的博客,写的挺清楚了:

https://github.com/andymccurdy/redis-py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值