Python 操作redis

1.字符串

#!/usr/bin/env python
# -*- coding:utf-8 -*- import redis # python 操作str
class TestString(object):
"""
set --设置值
get --获取值
mset --设置多个键值对
mget --获取多个键值对
append --添加字符串
del --删除
incr/decr -- 增加/减少 1
""" def __init__(self):
self.r = redis.StrictRedis(host='localhost', port=6379, db=0) def test_set(self):
rest = self.r.set('user2', 'Amy')
print rest
return rest def test_get(self):
rest = self.r.get('user2')
print rest
return rest def test_mset(self):
"""
mset --设置多个键值对
:return:
"""
d = {
'user1': 'XH',
'user3': 'Bob',
'user4': 'Bobx'
}
rest = self.r.mset(d)
print rest
return rest def test_mget(self):
"""
mget --获取多个键值对
:return:
"""
l = ['user1','user2','user3','user4','user6']
rest = self.r.mget(l)
print rest
return rest def test_del(self):
"""
del 删除
:return:
"""
rest = self.r.delete('user1')
print rest
return rest def main():
str_obj = TestString()
str_obj.test_set()
str_obj.test_get()
str_obj.test_mset()
str_obj.test_mget()
str_obj.test_del() if __name__ == '__main__':
main()

2.列表

class TestList(object):
"""
lpush/rpush --从左/右插入数据
lrange -- 获取指定长度的数据
ltrim -- 截取一定长度的数据
lpop/rpop -- 移除最左/右的元素并返回
lpushx/rpushx -- key存在的时候才插入数据,不存在不做任何处理
""" def __init__(self):
self.r = redis.StrictRedis(host='localhost', port=6379, db=0) def test_push(self):
"""
lpush/rpush --从左/右插入数据
lrange -- 获取指定长度的数据
:return:
"""
t = ('Amy', 'Jhon')
reset = self.r.lpush('l_eat2', *t)
print reset
reset = self.r.lrange('l_eat2', 0, -1)
print reset def test_pop(self):
"""
lpop/rpop -- 移除最左/右的元素并返回
:return:
"""
rest = self.r.lpop('l_eat2')
print rest reset = self.r.lrange('l_eat2', 0, -1)
print reset def main():
# list
list_obj = TestList()
#list_obj.test_push()
list_obj.test_pop() if __name__ == '__main__':
main()

3.集合

class TestSet(Base):
"""
sadd/srem --添加/删除元素
sismember --判断是否为set的一个元素
smembers --返回该集合的所有成员
sdiff --返回一个集合与其他集合的差异
sinter --返回几个集合的交集
sunion --返回几个集合的并集
"""
def test_sadd(self):
"""
sadd/srem --添加/删除元素
:return:
"""
l = ['Cats', 'Dogs']
rest = self.r.sadd('zoo3', *l)
print rest
rest = self.r.smembers('zoo3')
print rest def test_srem(self):
"""
sadd/srem --添加/删除元素
:return:
"""
rest = self.r.srem('zoo2','Dogs')
print rest
rest = self.r.smembers('zoo2')
print rest def test_sinter(self):
"""
sinter --返回几个集合对象的交集
sunion --返回几个集合对象的并集
:return:
"""
rest = self.r.sunion('zoo2', 'zoo3')
print rest
rest = self.r.sinter('zoo2','zoo3')
print rest def main():
test_obj = TestSet()
test_obj.test_sadd()
test_obj.test_srem()
test_obj.test_sinter() if __name__ == '__main__':
main()

4.散列

class TestHash(Base):
"""
hset/hget --设置/获取散列值
hmset/hmget --设置/获取多对散列值
hsetnx --如果散列已经存在,则不设置
hkeys/hvals --返回所有Keys/Values
hlen -- 返回散列包含域
""" def test_set(self):
"""
hset/hget --设置/获取散列值
:return:
"""
reset = self.r.hset('stu:xxx01','name','Amy')
print reset
reset = self.r.hexists('stu:xxx01','name')
print reset
reset = self.r.hget('stu:xxx01','name')
print reset def test_mset(self):
"""
hmset/hmget --设置/获取多对散列值
:return:
"""
m = {
'name':'Bob',
'age':21,
'grade':98
}
rest = self.r.hmset('stu:xxx03',m)
print rest
rest = self.r.hkeys('stu:xxx03')
print rest def main():
hash_obj = TestHash()
hash_obj.test_set()
hash_obj.test_mset() if __name__ == '__main__':
main()

Python 操作redis 常用方法的更多相关文章

  1. 30个php操作redis常用方法代码例子

    From: http://www.jb51.net/article/51884.htm 这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型. ...

  2. 数据库之redis篇(3)—— Python操作redis

    虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...

  3. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用

    python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...

  4. Python—操作redis

    Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...

  5. python——操作Redis

    在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...

  6. Python操作Redis、Memcache、RabbitMQ、SQLAlchemy

    Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ...

  7. 30 个 php 操作 redis 常用方法代码例子

    这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类型. list 类型和 set 类型的数据 , 需要的朋友可以参 ...

  8. Python操作redis系列之 列表(list) (四)

    # -*- coding: utf- -*- import redis r =redis.Redis(host=,password="ZBHRwlb1608") 1. Lpush ...

  9. python操作redis命令

    Python操作redis from redis import StrictRedis, ConnectionPoolredis_url="redis://:xxxx@112.27.10.1 ...

随机推荐

  1. HDU 1710 Binary Tree Traversals (二叉树遍历)

    Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  2. Linux IO系统分析(scsi篇)

    一.概述 Linux内核中SCSI子系统由SCSI上层,中间层,底层驱动模块三部分组成,负责管理SCSI资源和处理其他子系统,如文件系统,提交到SCSI子系统中的IO请求. 因此,理解SCSI子系统的 ...

  3. Maven运行Selenium报错org/w3c/dom/ElementTraversal

    项目使用maven 构建,并且使用集成测试(integration-test). 在命令行中运行mvn clean deploy tomcat:undeploy时,报错: java.lang.NoCl ...

  4. block(九)Block 和 Delegate 的使用比较

    Block 和 Delegate中的方法都可以理解成回调函数,当某件事情发生的时候取执行一段代码片段 Block(代码块) 优点:是一种轻量级的回调,能够直接访问上下文,使用块的地方和块的实现地方在同 ...

  5. 日志收集-Flume-ng-mongodb-sink

    本文主要介绍使用Flume传输数据到MongoDB的过程,内容涉及环境部署和注意事项. 一.环境搭建 1.flune-ng下载地址:http://www.apache.org/dyn/closer.c ...

  6. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  7. EasyUI DataGrid Checkbox 多选 获取选中行中的内容

    <table id='grid' class='easyui-datagrid' style='width:950px;height:405px' url='Ajax-index.php?mod ...

  8. hihoCoder 1015 KMP算法(kmp)

    #1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣.他们约定好互相帮助 ...

  9. SharePoint 2013 Farm 安装指南——构建一个双层SharePoint Farm

    最近要对公司里的SharePoint进行升级,由于旧的系统SharePoint 2010已经有2年了,上面改动比较多,而且权限也很混乱了,所以下定决心要对其做一次升级,重新部署一台新的SharePoi ...

  10. 【转】java原理—反射机制

    一.什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言 ...