`

python的redis用法

 
阅读更多

#! /usr/bin/env python
#coding=utf-8
import redis
print redis.__file__
# 连接,可选不同数据库
r = redis.Redis(host='10.0.1.7', port=6379, db=1)

# -------------------------------------------
# 看信息
info = r.info()
for key in info:

print "%s: %s" % (key, info[key])

# 查数据库大小
print '\ndbsize: %s' % r.dbsize()

# 看连接
print "ping %s" % r.ping()

# 选数据库
#r.select(2)

# 移动数据去2数据库
#r.move('a',2)

# 其他
#r.save('a') # 存数据
#r.lastsave('a') # 取最后一次save时间
#r.flush()  #刷新
#r.shutdown() #关闭所有客户端,停掉所有服务,退出服务器
#
#--------------------------------------------
# 它有四种类型:string(key,val)、list(序列)、set(集合)、zset(有序集合,多了一个顺序属性)
# 不知道你用的哪种类型?
# print r.get_type('a') #可以告诉你
# -------------------------------------------
# string操作
print '-'*20
# 塞数据
r['c1'] = 'bar'
#或者
r.set('c2','bar')
#这里有个 getset属性,如果为Tr 可以在存新数据时将上次存储内容同时搞出来
print 'getset:',r.getset('c2','jj')
#如果你想设置一个递增的整数 每执行一次它自加1:
print 'incr:',r.incr('a')
#如果你想设置一个递减的整数 please:
print 'decr:',r.decr('a')

# 取数据
print 'r['']:',r['c1']
#或者
print 'get:',r.get('a')
#或者 同时取一批
print 'mget:',r.mget('c1','c2')
#或者 同时取一批 它们的名字(key)很像 而恰好你又不想输全部
print 'keys:',r.keys('c*')
#又或者 你只想随机取一个:
print 'randomkey:',r.randomkey()


# 查看一个数据有没有 有 1 无0
print 'existes:',r.exists('a')

# 删数据 1是删除成功 0和None是没这个东西
print 'delete:',r.delete('cc')
# 哦对了 它是支持批量操作的
print 'delete:',r.delete('c1','c2')

# 其他
r.rename('a','c3') #呃.改名
r.expire('c3',10) #让数据10秒后过期 说实话我不太明白么意思
r.ttl('c3') #看剩余过期时间 不存在返回-1

#--------------------------------
# 序列(list)操作
print '-'*20
# 它是两头通的
# 塞入
r.push('b','gg')
r.push('b','hh')
# head 属性控制是不是从另一头塞
r.push('b','ee')
# 看长度
print 'list len:',r.llen('b')
# 列出一批出来
print 'list lrange:',r.lrange('b',start=0,end=-1)

# 取出一位
print 'list index 0:',r.lindex('b',0)

# 修剪列表
#若start 大于end,则将这个list清空
print 'list ltrim :',r.ltrim('b',start=0,end=3) #只留 从0到3四位

# 排序
# 这可是个大工程

#--------------------------------
# 集合(set)操作
# 塞数据
r.sadd('s', 'a')

# 判断一个set长度为多少 不存在为0
r.scard('s')

# 判断set中一个对象是否存在
r.sismember('s','a')

# 求交集
r.sadd('s2','a')
r.sinter('s1','s2')

#求交集并将结果赋值
r.sinterstore('s3','s1','s2')

# 看一个set对象
r.smembers('s3')

# 求并集
r.sunion('s1','s2')
# 阿 我想聪明的你已经猜到了
#求并集 并将结果返回
r.sunionstore('ss','s1','s2','s3')

# 求不同
# 在s1中有,但在s2和s3中都没有的数
r.sdiff('s1','s2','s3')
r.sdiffstore('s4','s1','s2')# 这个你懂的

# 取个随机数
r.srandmember('s1')

#-------------------------------------
#zset 有序set
#'zadd', 'zcard', 'zincr', 'zrange', 'zrangebyscore', 'zrem','zscore'
# 分别对应
#添加, 数量, 自加1,取数据,按照积分(范围)取数据,删除,取积分

# 我靠 你玩死我了 redis!
# 今天在实验中,我尝试插入一条zset类型数据:
r1.zset(u'litao','book1',3)
# 插入成功
# 我继续插入
r1.zset(u'litao','book2',5)

#成功了

 


import time
t1 = time.time()
import redis
r = redis.Redis("localhost")
for i in xrange(1):
        a=r.set(i, i)
        b=r.get(i)
        print b

        r.lpush('book','book1')
        r.lpush('book','book2')
        print 'list llen:',r.llen('book')
        print 'list lrange:',r.lrange('book',start=0,end=-1)
        print 'list index:',r.lindex('book',1)

        r.sadd('litao','song1')
        r.sadd('litao','song2')
        print 'set scard:',r.scard('litao')
        print 'set sismember:',r.sismember('litao','song1')
        r.sadd('jingjie','song1')
        print 'sinter:',r.sinter('litao','jingjie')
        print 'set smembers:',r.smembers('litao')

        r.zadd(u'zset','litao',2)
        r.zadd(u'zset','jingjie',1)
        print 'zrange:',r.zrange('zset',0,-1)
        print 'zrangebyscore:',r.zrangebyscore('zset',1,1)

分享到:
评论

相关推荐

    redis用法介绍+python下调用redis

    主要介绍了redis的安装与使用,和python3使用redis;主要介绍了redis的安装与使用,和python3使用redis

    Python库 | bbog_sg_python_redis_lib-0.0.1-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:bbog_sg_python_redis_lib-0.0.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    python使用pipeline批量读写redis的方法

    今天小编就为大家分享一篇python使用pipeline批量读写redis的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Redis分布式锁python-redis-lock使用方法

    python-redis-lock 多个redis客户端访问同一个redis服务端,控制并发。 github:https://pypi.org/project/python-redis-lock/ 在使用这个库之前,需要安装如下: pip install python-redis-lock 使用锁的示例: ...

    python连接redis数据库及对象的使用方法

    python连接redis数据库 首先需要下载一个第三方库– redis # 下载命令 pip install redis 有了第三方库之后,那么就开始写代码啦,其实代码很简单,只需要创建一个StrictRedis对象就好啦,这个对象中就包含了redis...

    Windows下安装Redis及使用Python操作Redis的方法

    里面这个Windows Service Documentation.docx是一个文档,里面有安装指导和使用方法。 也可以直接下载msi安装文件,直接安装,安装之后的安装目录中也是这些文件,可以对redis进行相关的配置。 安装完成之后可以对...

    python操作redis数据库的三种方法

    r = redis.Redis(host='127.0.0.1', port=6379, db=1, password=None, decode_responses=True) 连接池使用 import redis pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=1, max_connections=100, ...

    redis_protocol:python实现的Redis协议

    python实现的Redis协议 免费软件:BSD 许可证 文档: : 。 用法 这是按照实现的。 我在我的项目中使用过它。 >>> from redis_protocol import decode, encode >>> encode("ping") # encode a request ... '*1\r\n$...

    Redis的Python客户端redis-py安装使用说明文档

    主要介绍了Redis的Python客户端redis-py安装使用说明文档,本文讲解了安装方法、入门使用实例、API参考和详细说明,需要的朋友可以参考下

    redis数据库及与python交互用法简单示例

    主要介绍了redis数据库及与python交互用法,结合实例形式分析了Redis数据库的基本类型、操作以及Python针对Redis数据库的连接、增删改查等相关操作技巧,需要的朋友可以参考下

    Python操作redis实例小结【String、Hash、List、Set等】

    主要介绍了Python操作redis的常见方法,结合实例形式总结分析了Python redis操作中String、Hash、List、Set等相关操作函数与使用技巧,需要的朋友可以参考下

    python3实现将json对象存入Redis以及数据的导入导出

    Redis数据类型 String:二进制安全,可以包含任何数据 Hash:一个键值(key=>value)对集合 List:简单的字符串列表 Set:string类型的无序...具体用法可查看网上教程或官方文档或命令行提示 Redis持久化 Redis运行在内存中

    python安装与使用redis的方法

    本文实例讲述了python安装与使用redis的方法。分享给大家供大家参考,具体如下: 1、安装 好吧,我承认我只会最简单的安装: sudo apt-get install redis-server python 支持包: (其实就一个文件,搞过来就能用) ...

    redis-distributed-lock:Python3的redis分布式锁,使用setnx和lua脚本,提供块和无块函数

    Python3的redis分布式锁,使用setnx和lua脚本,提供块和无块函数 用法 import redis from .redis_lock import RedisLock redis_client = redis.Redis(host="127.0.0.1", port=6379, db=0) lock = RedisLock(redis_...

    leaderboard-python:Redis在Python中支持的排行榜

    排行榜在Python中支持的排行榜。 建立在提出的想法。安装pip install leaderboard 确保您的Redis服务器正在运行! Redis配置不在本README的范围之内,但请查阅。用法创建排行榜确保需要排行榜库: from leaderboard ...

    redis入门指南

    《Redis入门指南》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署...了PHP、Ruby、Python和Node.js这4种语言的Redis客户端库的使用方法...

    redis-mass-insertion:为批量插入 http 准备 Redis 命令的简单 Python 脚本

    使用 redis-cli --pipe 为批量插入准备 Redis 命令的轻量级 Python 脚本。 用法 redis-mass.py 可以以两种方式使用,任何一种方式都假定输入具有以下格式。 SET key value SET key2 value2 SADD someset value ...

Global site tag (gtag.js) - Google Analytics