Python的Flask框架使用Redis做数据缓存的配置方法

 更新时间:2016年06月17日 17:23:08   作者:cangmean  
Redis数据库依赖于主存,在关系型数据库以外再配套Redis管理缓存数据将对性能会有很大的提升,这里我们就来看一下Python的Flask框架使用Redis做数据缓存的配置方法

Redis是一款依据BSD开源协议发行的高性能Key-Value存储系统。会把数据读入内存中提高存取效率。Redis性能极高能支持超过100K+每秒的读写频率,还支持通知key过期等等特性,所以及其适合做缓存。

下载安装

根据redis中文网使用wget下载压缩包

$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz
$ tar xzf redis-3.0.5.tar.gz
$ cd redis-3.0.5
$ make

二进制文件编译完成后在src目录下。可以通过一下命令启动:

$ src/redis-server

这样就可以看到redis服务已经启动起来了,默认端口是6379,可以通过client操作reids。

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

flask配置redis

首先得下载flask的缓存插件Flask-Cache,使用pip下载。

sudo pip install flask_cache

为应用扩展flask_cache

from flask import Flask
from flask.ext.cache import Cache

cache = Cache()

config = {
  'CACHE_TYPE': 'redis',
  'CACHE_REDIS_HOST': '127.0.0.1',
  'CACHE_REDIS_PORT': 6379,
  'CACHE_REDIS_DB': '',
  'CACHE_REDIS_PASSWORD': ''
}

app = Flask(__name__)
app.config.from_object(config)
cache.init_app(app)

@app.route('/')
@cache.cached(timeout=60*2)
def index():
  name = 'mink'
  return name

if __name__ == '__main__':
  app.run()

使用装饰器cached()装饰视图函数,参数timeout来设置过期时间,本文中使用了两分钟为缓存时间。

相关文章

  • Redis实现每日签到功能(大数据量)

    Redis实现每日签到功能(大数据量)

    在面对百万级用户签到情况下,传统数据库存储和判断会遇到瓶颈,使用Redis的二进制数据类型可实现高效的签到功能,示例代码展示了如何调用这些功能,包括当天签到、补签以及查询签到记录,PHP结合Redis二进制数据类型可有效处理大数据量下的签到问题
    2024-10-10
  • redis内部数据结构之SDS简单动态字符串详解

    redis内部数据结构之SDS简单动态字符串详解

    SDS是Redis中实现的一种数据结构,用来存储字符串,最近学习中正好学习到了这里,所以下面这篇文章主要给大家介绍了redis内部数据结构之SDS简单动态字符串的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • Redis的LRU机制介绍

    Redis的LRU机制介绍

    这篇文章主要介绍了Redis的LRU机制介绍,Redis会按LRU算法删除设置了过期时间但还没有过期的key,而对于没有设置过期时间的key,Redis是永远保留的,需要的朋友可以参考下
    2015-06-06
  • Spring boot+redis实现消息发布与订阅的代码

    Spring boot+redis实现消息发布与订阅的代码

    这篇文章主要介绍了Spring boot+redis实现消息发布与订阅,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值需要的朋友可以参考下
    2020-04-04
  • 详解Redis如何保证接口的幂等性

    详解Redis如何保证接口的幂等性

    如何防止接口中同样的数据提交,以及如何保证消息不被重复消费,这些都是shigen在学习的过程中遇到的问题,今天,趁着在学习redis的间隙,我写了一篇文章进行简单的实现,需要的朋友可以参考下
    2023-11-11
  • Redis基本数据类型Set常用操作命令

    Redis基本数据类型Set常用操作命令

    这篇文章主要为大家介绍了Redis基本数据类型Set常用操作命令,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • redis专属链表ziplist的使用

    redis专属链表ziplist的使用

    本文主要介绍了redis专属链表ziplist的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 微服务Spring Boot 整合 Redis 实现好友关注功能

    微服务Spring Boot 整合 Redis 实现好友关注功能

    这篇文章主要介绍了微服务Spring Boot 整合 Redis 实现 好友关注,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Redis结合Lua脚本实现分布式锁详解

    Redis结合Lua脚本实现分布式锁详解

    Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 本文主要为大家介绍了Redis如何结合Lua脚本实现分布式锁,需要的可以参考下
    2024-02-02
  • Redis中Lua脚本的使用场景示例分析

    Redis中Lua脚本的使用场景示例分析

    通过使用Lua脚本,可以在Redis中实现复杂逻辑和原子操作,如原子计数、条件更新、事务性操作、分布式锁、批量处理、计数器与过期管理、条件删除、数据聚合等,本文介绍了Redis中Lua脚本的几种常见使用场景及其Java实现示例,为开发者提供了一个参考
    2024-11-11

最新评论