免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1403 | 回复: 0
打印 上一主题 下一主题

python操作redis [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-07-10 22:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-09 11:03 |只看该作者 |倒序浏览
python、redis
  1. #!/usr/bin/python
  2. #coding=utf-8

  3. import redis

  4. class CRedis:

  5.     def __init__(self):
  6.         self.host = 'localhost'
  7.         self.port = 6379
  8.         self.db = 0
  9.         self.r = redis.Redis(host = self.host, port = self.port, db = self.db)

  10.     #1. strings 类型及操作
  11.     #设置 key 对应的值为 string 类型的 value
  12.     def set(self, key, value):
  13.         return self.r.set(key, value)

  14.     #设置 key 对应的值为 string 类型的 value。如果 key 已经存在,返回 0,nx 是 not exist 的意思
  15.     def setnx(self, key, value):
  16.         return self.r.setnx(key, value)

  17.     #设置 key 对应的值为 string 类型的 value,并指定此键值对应的有效期
  18.     def setex(self, key, time, value):
  19.         return self.r.setex(key, time, value)

  20.     #设置指定 key 的 value 值的子字符串
  21.     #setrange name 8 gmail.com
  22.     #其中的 8 是指从下标为 8(包含 8)的字符开始替换
  23.     def setrange(self, key, num, value):
  24.         return self.r.setrange(key, num, value)

  25.     #获取指定 key 的 value 值的子字符串
  26.     def getrange(self, key, start ,end):
  27.         return self.r.getrange(key, start, end)

  28.     #mget(list)
  29.     def get(self, key):
  30.         if isinstance(key, list):
  31.             return self.r.mget(key)
  32.         else:
  33.             return self.r.get(key)

  34.     #删除
  35.     def remove(self, key):
  36.         return self.r.delete(key)

  37.     #自增
  38.     def incr(self, key, default = 1):
  39.         if (1 == default):
  40.             return self.r.incr(key)
  41.         else:
  42.             return self.r.incr(key, default)

  43.     #自减
  44.     def decr(self, key, default = 1):
  45.         if (1 == default):
  46.             return self.r.decr(key)
  47.         else:
  48.             return self.r.decr(key, default)

  49.     #2. hashes 类型及操作
  50.     #根据email获取session信息
  51.     def hget(self, email):
  52.         return self.r.hget('session', email)

  53.     #以email作为唯一标识,增加用户session
  54.     def hset(self, email, content):
  55.         return self.r.hset('session', email, content)

  56.     #获取session哈希表中的所有数据
  57.     def hgetall(self):
  58.         return self.r.hgetall('session')

  59.     #删除hashes
  60.     def hdel(self, name, key = None):
  61.         if(key):
  62.             return self.r.hdel(name, key)
  63.         return self.r.hdel(name)

  64.     #清空当前db
  65.     def clear(self):
  66.         return self.r.flushdb()

  67.     #3、lists 类型及操作
  68.     #适合做邮件队列
  69.     #在 key 对应 list 的头部添加字符串元素
  70.     def lpush(self, key ,value):
  71.         return self.r.lpush(key, value)

  72.     #从 list 的尾部删除元素,并返回删除元素
  73.     def lpop(self, key):
  74.         return self.r.plush(key)

  75. if __name__ == '__main__':

  76.     r = CRedis()
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP