您的位置:首页 > 数据库 > Redis

2.Python操作Redis:列表(List)

2016-04-29 22:17 1086 查看
Python操作Redis主要利用了redis模块来实现,list表操作函数主要模拟了Redis操作命令LPUSH,LRANGE,LINDEX,BLPOP,BRPOP。实际上由于Python已经redis模块版本问题,可能有些其他的高级Redis列表(List)用法无法实现。

函数说明

lpush函数实现了从向指定redis列表头部压入数据功能,lpush key value

lrange获取列表指定范围的函数,lrange key start end

lindex根据列表下标量获取列表元素值, lindex key index

blpop从列表头部取出第一个元素,返回该元素值并从列表删除(l代表left,左边)

brpop从列表尾部取出第一个元素,返回该元素值并从列表删除(l代表right,右边)

LPUSHX、RPUSHX以及其他一些Redis列表(List)函数目前版本无法实现,如有可实现方法博客代码事例将会得到更新。

代码示例

#!/usr/bin/python
import redis
## Connect local redis service
client =redis.Redis(host='127.0.0.1',port=6379,db=0)
print "Connection to server successfully! \n"
## Stored data in list (lpush)
listDict = {'tutorial-list':['Redis','Mangodb','MySQL','PostgreSQL']}
for key in listDict.keys():
print "Key ",key
valueList=listDict[key]
for val in valueList:
client.lpush(key,val)

#client.lpush("tutorial-list","Redis")
#client.lpush("tutorial-list","Mangodb")
#client.lpush("tutorial-list","MySQL")

# Get data from Redis (lrange)
arrayList = client.lrange("tutorial-list",0,5)
print 'Stored srting in redis: ',
print arrayList
# Get element from list with index(lindex)
for i in xrange(4):
ele = client.lindex("tutorial-list",i)
print "The element with index number",i,"is",ele
# Get list length (llen)
l = client.llen("tutorial-list")
print "The list tutorial-list length is",l

# Get head element from tutorial-list(blpop)
for i in xrange(2):
ele = client.blpop("tutorial-list",10)
print "The",(i+1),"element from left ",ele

# Get tail element from tutorial-list(brpop)
for i in xrange(2):
ele = client.brpop("tutorial-list",10)
print "The",(i+1),"element from right ",ele

hashVal = client.hgetall('profile')
print hashVal

#Empty db
client.flushdb()


参考资料

1、Redis 列表(List)

2、Python redis文档(python交互模式下命令
>>>help redis
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: