python操作redis的方法


Posted in Python onJuly 07, 2015

本文实例讲述了python操作redis的方法。分享给大家供大家参考。具体如下:

#!/usr/bin/python
#coding=utf-8
import redis
class CRedis:
  def __init__(self):
    self.host = 'localhost'
    self.port = 6379
    self.db = 0
    self.r = redis.Redis(host = self.host, port = self.port, db = self.db)
  #1. strings 类型及操作
  #设置 key 对应的值为 string 类型的 value
  def set(self, key, value):
    return self.r.set(key, value)
  #设置 key 对应的值为 string 类型的 value。如果 key 已经存在,返回 0,nx 是 not exist 的意思
  def setnx(self, key, value):
    return self.r.setnx(key, value)
  #设置 key 对应的值为 string 类型的 value,并指定此键值对应的有效期
  def setex(self, key, time, value):
    return self.r.setex(key, time, value)
  #设置指定 key 的 value 值的子字符串
  #setrange name 8 gmail.com
  #其中的 8 是指从下标为 8(包含 8)的字符开始替换
  def setrange(self, key, num, value):
    return self.r.setrange(key, num, value)
  #获取指定 key 的 value 值的子字符串
  def getrange(self, key, start ,end):
    return self.r.getrange(key, start, end)
  #mget(list)
  def get(self, key):
    if isinstance(key, list):
      return self.r.mget(key)
    else:
      return self.r.get(key)
  #删除
  def remove(self, key):
    return self.r.delete(key)
  #自增
  def incr(self, key, default = 1):
    if (1 == default):
      return self.r.incr(key)
    else:
      return self.r.incr(key, default)
  #自减
  def decr(self, key, default = 1):
    if (1 == default):
      return self.r.decr(key)
    else:
      return self.r.decr(key, default)
  #2. hashes 类型及操作
  #根据email获取session信息
  def hget(self, email):
    return self.r.hget('session', email)
  #以email作为唯一标识,增加用户session
  def hset(self, email, content):
    return self.r.hset('session', email, content)
  #获取session哈希表中的所有数据
  def hgetall(self):
    return self.r.hgetall('session')
  #删除hashes
  def hdel(self, name, key = None):
    if(key):
      return self.r.hdel(name, key)
    return self.r.hdel(name)
  #清空当前db
  def clear(self):
    return self.r.flushdb()
  #3、lists 类型及操作
  #适合做邮件队列
  #在 key 对应 list 的头部添加字符串元素
  def lpush(self, key ,value):
    return self.r.lpush(key, value)
  #从 list 的尾部删除元素,并返回删除元素
  def lpop(self, key):
    return self.r.plush(key)
if __name__ == '__main__':
  r = CRedis()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python脚本实现分析dns日志并对受访域名排行
Sep 18 Python
python实现端口转发器的方法
Mar 13 Python
Python打印斐波拉契数列实例
Jul 07 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
python实现归并排序算法
Nov 22 Python
Python操作redis实例小结【String、Hash、List、Set等】
May 16 Python
python实现在函数中修改变量值的方法
Jul 16 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
Python实现基于socket的udp传输与接收功能详解
Nov 15 Python
Python有参函数使用代码实例
Jan 06 Python
python实现无边框进度条的实例代码
Dec 30 Python
Python机器学习应用之基于线性判别模型的分类篇详解
Jan 18 Python
python生成IP段的方法
Jul 07 #Python
Python的多态性实例分析
Jul 07 #Python
Python中的urllib模块使用详解
Jul 07 #Python
Python实现图像几何变换
Jul 06 #Python
Python统计日志中每个IP出现次数的方法
Jul 06 #Python
python统计日志ip访问数的方法
Jul 06 #Python
python检查指定文件是否存在的方法
Jul 06 #Python
You might like
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
Python autoescape标签用法解析
2020/01/17 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
Linux Interview Questions For software testers
2012/06/02 面试题
采购部部门职责
2013/12/15 职场文书
人事档案接收函
2014/01/12 职场文书
会走路的树教学反思
2014/02/20 职场文书
yy婚礼主持词
2014/03/14 职场文书
暑假安全保证书
2015/02/28 职场文书
社区服务理念口号
2015/12/25 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang