开发者社区> 程序猿v> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Python编程:redis缓存数据库

简介: Python编程:redis缓存数据库
+关注继续查看

订阅专栏

broker缓存:

- mongodb 存硬盘

- redis 默认存内存,配置可存硬盘

- memcache 只能存内存


redis介绍

REmote DIctionary Server(Redis)


redis官网:https://redis.io/


redis数据类型:

- String 操作 set get

- Hash 操作 hset hget

- List 操作 lpush lrange

- Set 操作 sadd smembers

- Sort Set 操作


安装

windows安装下载:

https://github.com/MicrosoftArchive/redis/releases


启动服务:

切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf


连接服务:

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379


设置键值对 set myKey abc

取出键值对 get myKey


安装第三方库

pip install redis

简单连接

import redis
r = redis.Redis(host="127.0.0.1", port=6379)
r.set("foo", "xxx")
print(r.get("foo"))  # b'xxx'

url链接


redis://username[:password]@host:port/db    # TCP连接

连接池

import redis
pool = redis.ConnectionPool(host="127.0.0.1", port=6379)
r = redis.Redis(connection_pool=pool)
r.set("cat", "Tom")
print(r.get("cat"))

管道

import redis
pool = redis.ConnectionPool(host="127.0.0.1", port=6379)
r = redis.Redis(connection_pool=pool)
pipe=r.pipeline(transaction=True)
pipe.set("key1", "value1")
pipe.set("key2", "value2")
pipe.execute()  # 一起执行
print(r.get("key1"))

发布者和订阅者

# 封装的公共类

import redis
class RedisHelper:
    def __init__(self):
        self.__conn = redis.Redis(host='127.0.0.1')
        self.chan_sub = 'fm104.5'
        self.chan_pub = 'fm104.5'
    def public(self, msg):
        self.__conn.publish(self.chan_pub, msg)
        return True
    def subscribe(self):
        pub = self.__conn.pubsub()
        pub.subscribe(self.chan_sub)
        pub.parse_response()
        return pub


# 发布者

import redis_helper
obj = redis_helper.RedisHelper()
obj.public('hello')
print("发布成功")


# 订阅者

import redis_helper
obj = redis_helper.RedisHelper()
redis_sub = obj.subscribe()
print("开始订阅")
while True:
    msg = redis_sub.parse_response()
    print(msg)

参考文章:

redis-py

https://github.com/andymccurdy/redis-py/


Redis 命令参考

http://doc.redisfans.com/


《Redis 教程-菜鸟教程》

http://www.runoob.com/redis/redis-tutorial.html


《Python之路【第九篇】:Python操作Redis》

http://www.cnblogs.com/wupeiqi/articles/5132791.html


《python 之路,Day12 - redis缓存数据库》

http://www.cnblogs.com/alex3714/articles/6217453.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python编程:heapq模块堆排序
堆是一个二叉树,其中每个父节点的值都小于或等于其所有子节点的值。 整个堆的最小元素总是位于二叉树的根节点。 python的heapq模块提供了对堆的支持。 堆数据结构最重要的特征是heap[0]永远是最小的元素
9 0
Python编程:entry_points将Python模块转变为命令行工具
Python编程:entry_points将Python模块转变为命令行工具
20 0
Python编程:flask-cors模块解决Flask跨域请求Cross-Origin问题
Python编程:flask-cors模块解决Flask跨域请求Cross-Origin问题
29 0
Python编程:Crypto模块RSA非对称加密
Python编程:Crypto模块RSA非对称加密
71 0
Python编程:itertools模块
Python编程:itertools模块
25 0
Python编程:traceback模块
Python编程:traceback模块
36 0
Python编程:paramiko模块远程登录
Python编程:paramiko模块远程登录
31 0
Python编程:python中的计时器timeit模块
Python编程:python中的计时器timeit模块
58 0
Python编程:chardet模块检测byte字节编码
Python编程:chardet模块检测byte字节编码
59 0
Python编程:hashlib模块hmac模块-摘要算法
Python编程:hashlib模块hmac模块-摘要算法
66 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Redis的开发规范和常见问题
立即下载
Redis 的高并发实战:抢购系统
立即下载
阿里技术专家煮茶:Redis主从复制基本原理
立即下载