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 pass 语句使用示例
Mar 11 Python
Python 如何访问外围作用域中的变量
Sep 11 Python
Pandas标记删除重复记录的方法
Apr 08 Python
对pandas中Series的map函数详解
Jul 25 Python
Python线程下使用锁的技巧分享
Sep 13 Python
Python3实现腾讯云OCR识别
Nov 27 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
Mar 11 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 Python
python如何查找列表中元素的位置
May 30 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 数组入门教程小结
2009/05/20 PHP
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
mongodb和php的用法详解
2019/03/25 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
python操作excel让工作自动化
2019/08/09 Python
浅谈Python type的使用
2019/11/19 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
pytorch简介
2020/11/11 Python
PyQt实现计数器的方法示例
2021/01/18 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
法制宣传口号
2014/06/16 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL