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

6 篇文章 0 订阅
5 篇文章 0 订阅

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

函数说明

  1. lpush函数实现了从向指定redis列表头部压入数据功能,lpush key value
  2. lrange获取列表指定范围的函数,lrange key start end
  3. lindex根据列表下标量获取列表元素值, lindex key index
  4. blpop从列表头部取出第一个元素,返回该元素值并从列表删除(l代表left,左边)
  5. brpop从列表尾部取出第一个元素,返回该元素值并从列表删除(l代表right,右边)
  6. 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值