我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【Python】Python使用redis

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【Python】Python使用redis

转自:http://www.diybl.com/course/3_program/python/20110510/555370.html

#1、安装 
好吧,我承认我只会最简单的安装 
sudo apt-get install redis-server

Python 支持包: (其实就一个文件,搞过来就能用) 
sudo apt-get install python-redis

#2、配置 
配置一下吧,默认配置文件在: “/etc/redis/redis.conf” 
绑定ip: 
“bind 127.0.0.1″ -> “bind 10.0.1.7″

将磁盘同步改为 不同步或每秒同步,一直同步的话太慢了: 
“appendfsync always” -> “appendfsync no”

检查一下后台执行是否打开: 
“daemonize yes”

或者其他你想设置的,例如: 
连接超时时间 : “timeout 300″ 
运行级别: “loglevel notice” (个人认为默认的这个就挺好,非出现大异常,不用改为debug )

#3、使用

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

# ------------------------------------------- 
# 看信息 
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,value)、list(序列)、set(集合)、zset(有序集合,多了一个顺序属性) 
# 不知道你用的哪种类型? 
# print r.get_type('a') #可以告诉你 
# ------------------------------------------- 
# string操作 
print '-'*20 
# 塞数据 
r['c1'] = 'bar' 
#或者 
r.set('c2','bar') 
#这里有个 getset属性,如果为True 可以在存新数据时将上次存储内容同时搞出来 
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',head=True) 
# 看长度 
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'www.liyi99.com','liwu',3) 
# 插入成功 
# 我继续插入 
r1.zset(u'www.liyi99,com',u'\u9001\u793c',5) 
#报错: 
#UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128) 
#这次插入的是礼物的中文词 unicode编码 
#为什么会失败那,这条数据是我从redis里面取出来然后没做任何修改再插入的阿 
#redis返回和接受的数据类型都是unicode编码的阿 
#好吧,我们再次插入试试 
#再次插入 
r1.zset('www.liyi99.com',u'\u9001\u793c',5) 
#成功了 
#插入 
r1.zset('www.liyi99.com','礼物',5) 
#依然成功,跟入redis.py 1024行 
return self.send_command('ZADD %s %s %s\r\n%s\r\n' % ( 
    key, score, len(member), member)) 
# 哦 万恶的编码转换! 
#不过取的时候,不论第一个是何种类型的数据都无关系

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【Python】Python使用redis

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中使用Redis

安装Redis的有3种方式https://github.com/andymccurdy/redis-py第一种:进⼊虚拟环境py_django,联⽹安装包redispip install redis第二种:进⼊虚拟环境py_django,联
2023-01-31

使用python对redis操作

写在前面首先声明,这是为了学习python对redis操作而写的一个小demo,包括了这几天网站找到的一些资料,综合总结出来一些东西,最后附上我写的一个用python操作redis的一个demo:模块安装python提供了一个模块redis
2023-01-31

Python 使用redis报:No module named redis问题

初次使用redis时,在链接Redis后,运行报错“No module named redis”。具体代码如下:import redisr = redis.Redis(host="192.168.2.22",port=6379,db=2)r.set("name
Python 使用redis报:No module named redis问题
2015-09-07

python中使用redis用法详解

目录安装Redis连接池redis的String类型基本命令示例实例应用场景 – 页面点击数redis的hash类型基本命令示例1、单个增加--修改(单个取出)--没有就新增,有的话就修改2、批量增加(取出)3、取出所有的键值对
2022-12-22

python redis连接池怎么使用

PythonRedis连接池使用指南了解如何使用Redis连接池优化Redis连接管理,提高性能和减少延迟。本文介绍了安装、创建和管理Redis连接池,以及最佳实践和示例用法。通过利用连接池,您可以避免创建和销毁连接的开销,从而提高应用程序效率。
python redis连接池怎么使用
2024-04-13

python中redis的安装和使用

python下redis安装 用python操作redis数据库,先下载redis-py模块下载地址https://github.com/andymccurdy/redis-py shell# wget https://github.com
2022-06-04

再述:python中redis的使用(P

redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。redi
2023-01-31

Redis怎么与Python集成使用

要在Python中使用Redis,首先需要安装Redis的Python客户端库。常用的Python Redis客户端包括redis-py和hiredis。以下是使用redis-py库与Redis集成的示例代码:安装redis-py库:pi
Redis怎么与Python集成使用
2024-05-07

python使用redis模块来跟redis实现交互

目录redis模块的使用1.安装模块2.导入模块4.连接池5.操作管道事务订阅\发布redis模块的使用1.安装模块pip3 ins编程客栈tall redis2.导入模块import redis3.连接方式严格连接模式:r=r
2022-06-30

python安装与使用redis的方法

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

使用 Python 配合 Redis 超越缓存

如果你是一位 Python 开发者, 那么你肯定使用过 Redis , 并且认为它是一个很棒的缓存。 虽然你的印象没有错, Redis 的确是一个很棒的缓存, 但使用 Redis 能够解决的问题并不仅限于缓存。

redis怎么用python

通过 python client 库,您可以连接 redis 数据库并执行各种操作,包括:通过 strictredis 类连接到服务器使用 set() 设置值,使用 get() 获取值,使用 delete() 删除值利用高级操作处理列表、集
redis怎么用python
2024-05-21

Python Redis

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类
2023-01-31

怎么使用Python操作Redis数据库

本篇内容主要讲解“怎么使用Python操作Redis数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python操作Redis数据库”吧!介绍Redis是一个开源的基于内存也可持久化
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录