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

相关文章
|
6月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
778 7
|
7月前
|
存储 NoSQL Redis
阿里云高性能数据库Tair(兼容 Redis)收费价格,稳定可靠成本低
阿里云高性能云数据库Tair兼容Redis,提供Redis开源版和Tair企业版,支持多种存储介质与灵活扩展,适用于高并发场景。Tair具备亚毫秒级稳定延迟,保障业务连续性。价格方面,Redis开源版年费从72元起,Tair企业版年费从1224元起,具体费用根据配置不同有所变化。
|
6月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
663 25
|
6月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
440 3
|
6月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
651 3
|
6月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
456 3
|
7月前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
322 1
Redis专题-实战篇二-商户查询缓存
|
6月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
1140 3
|
7月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
6月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
657 0

推荐镜像

更多
下一篇
开通oss服务