当前位置:首页 > 技术分析 > 正文内容

Flask使用redis数据库

ruisui884个月前 (03-10)技术分析11

Flask使用redis数据库


tips:

  • 本文简单介绍Flask中使用redis
  • 本文代码基于python3编写

项目场景


在实际项目中,不频繁变化且重复使用的数据、有一定时效的数据等。放入redis中,不仅可以提高查询效率,还能减少维护成本。实际应用比如手机验证码,token验证、任务调度等。

redis


REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Python使用redis


  1. 安装Python redis包pip install redis
  2. 简单使用
# -*- coding: utf-8 -*-
# !/usr/bin/python3
# author by : AlgorithmSecret
# wechat  by: 雨夜的博客

import redis

# 获取redis数据库连接
r = redis.StrictRedis(host="127.0.0.1", port=6379, db=0)

# redis存入键值对
r.set(name="key", value="value")
# 读取键值对
print(r.get("key"))
# 删除
print(r.delete("key"))
# redis存入Hash值
r.hset(name="name", key="key1", value="value1")
r.hset(name="name", key="key2", value="value2")
# 获取所有哈希表中的字段
print(r.hgetall("name"))
# 获取所有给定字段的值
print(r.hmget("name", "key1", "key2"))
# 获取存储在哈希表中指定字段的值。
print(r.hmget("name", "key1"))
# 删除一个或多个哈希表字段
print(r.hdel("name", "key1"))

# 过期时间
r.expire("name", 60)  # 60秒后过期

Flask使用redis


封装redis方法(RedisUtils

# -*- coding: utf-8 -*-
# !/usr/bin/python3
# author by : AlgorithmSecret
# wechat  by: 雨夜的博客

import redis


class RedisUtil(object):

    def __init__(self):
        self.redisConnect = redis.StrictRedis(host="127.0.0.1", port=6379, db=0)

    # redis存入键值对
    def set(self, key, value):
        self.redisConnect.set(name=key, value=value)
        return True

    # 读取键值对
    def get(self, key):
        return self.redisConnect.get(key)

    # 删除
    def delete(self, key):
        return self.redisConnect.delete(key)

    # redis存入Hash值
    def hset(self, name, key, value):
        self.redisConnect.hset(name=name, key=key, value=value)
        return True

    # 获取hash值
    def hget(self, key, value):
        return self.redisConnect.hget(key, value)

    # 获取所有哈希表中的字段
    def hgetall(self, name):
        return self.redisConnect.hgetall(name)

    # 获取存储在哈希表中指定字段的值
    def hmget(self, name, key):
        return self.redisConnect.hmget(name, key)

    # 删除某一个key
    def hdel(self, name, key):
        return self.redisConnect.hdel(name, key)

    # 递加
    def incr(self, name):
        return self.redisConnect.incr(name=name)

    # 递减
    def decr(self, name):
        return self.redisConnect.decr(name=name)

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2660.html

分享给朋友:

“Flask使用redis数据库” 的相关文章

Linux发行版Debian推出12.2及11.8版本,修复多个安全问题

IT之家 10 月 9 日消息,Debian 是最古老的 GNU / Linux 发行版之一,也是许多其他基于 Linux 的操作系统的基础,包括 Ubuntu、Kali、MX 和树莓派 OS 等,近日 Debian 推出了 12.2 和 11.8 版本,主要修复了多个安全问题。▲ 图源 Debia...

Slackware 15.0?发布:历史最久且在维护的Linux发行版本

Slackware 14.0 于 2012 年发布,在经过了数年的等待之后 Slackware 15.0 发行版本于今天正式发布。Slackware 于 1993 年发布,是目前历史最悠久、且仍在维护的 Linux 发行版本。Slackware 15.0 在去年进入测试阶段,在发布几个候选版本之后终...

gitlab简单搭建与应用

一、gitlab1、简介GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历...

使用cgroup限制进程资源

这里使用containerd项目中的cgroup包来实现进程资源限制。先写一个耗费一个CPU并且一秒增加10m内存的测试进程package mainimport ( "fmt" "math/rand" "time")func main() { go f...

我的VIM配置

写一篇关于VIM配置的文章,记录下自己的VIM配置,力求简洁实用。VIM的配置保存在文件~/.vimrc中(Windows下是C:\Users\yourname \_vimrc)。VIM除了自身可配置项外,还可插件扩展。VIM的插件一般用vundle或vim-plug来管理,但我力求简单,不打算装太...

摄影后期必看 | PS插件camera raw 16.4教程 | 范围蒙版

范围蒙版Camera Raw 【蒙版】模块中提供了三个范围蒙版工具,可以通过特定的范围来创建蒙版。此次新增的【范围蒙版】大大加强了acr插件对局部调整的能力。点击下拉小箭头可以看到【颜色范围】,可用于快速选择想要编辑的颜色。快捷键:Shift + C【明亮度范围】,可用于快速选择想要调整的明亮度。快...