转载自:http://the5fire.com/python-simple-redis.html
python redis 安装
wget http://redis.googlecode.com/ tar xzf redis-2.x.x make && make test #不过可能会报错,百度一下就可以了,不是很难解决的
git clone https://github.com/andymccurdy/redis-py.gitsudo easy_install redis
cd redis-py
python setup.py install
# Parser安装
# Parser可以控制如何解析redis响应的内容。redis-py包含两个Parser类,PythonParser和HiredisParser。
# 默认,如果已经安装了hiredis模块,redis-py会使用HiredisParser,否则会使用PythonParser。
# HiredisParser是C编写的,由redis核心团队维护,性能要比PythonParser提高10倍以上,所以推荐使用。安装方法,使用easy_install:
easy_install hiredis
关于redis的复杂的使用以后用到再来学习,代码更直观:
import redis
cache = redis.StrictRedis(host='localhost', port=6379)
#1. 简单的get和set操作
print u'====set操作:'
cache.set('blog:title', u'the5fire的技术博客')
print cache.get('blog:title')
#真实应用场景,批量set和get
for i in range(10):
cache.mset({
'blog:post:%s:title' % i: u'文章%s标题' % i,
'blog:post:%s:content' % i: u'文章%s的正文' % i
})
post_list = []
for i in range(10):
post = cache.mget('blog:post:%s:title' % i, 'blog:post:%s:content' % i)
if post:
post_list.append(post)
for title, content in post_list:
print title, content
#2、 hashed类型的操作
print u'====hashed操作:'
cache.hset('blog:info','title', u'the5fire的技术博客')
cache.hset('blog:info','url', u'http://www.the5fire.com')
blog_info_title = cache.hget('blog:info', 'title')
print blog_info_title
blog_info = cache.hgetall('blog:info')
print blog_info
#同样hashed类型的set和get也可以进行批量操作
cache.hmset('blog:info', {
'title': 'the5fire blog',
'url': 'http://www.the5fire.com',
})
blog_info1 = cache.hmget('blog:info', 'title', 'url')
print blog_info1
#3、lists类型的操作
print u'====lists操作:'
cache.lpush('blog:tags', 'python')
cache.lpush('blog:tags', 'linux')
tags = cache.lrange('blog:tags', 0, 2)
print tags
#对应的还有rpush,lpop,rpop,更多可以看红丸的redis实战
#4、sets类型的操作
print u'====sets操作:'
cache.sadd('blog:category:python', '001')
cache.sadd('blog:category:python', '002')
#cache.sadd('blog:category:python', '001', '002')
print cache.smembers('blog:category:python')
cache.srem('blog:category:python', '001')
print cache.smembers('blog:category:python')