session的存储,以及redis基本介绍

session是server端存储用户信息

用session时,如果访问量过大的话,不能只放在进程内存中 ,不然可能会撑爆内存
而且如果session放在进程内存中,在多进程时,因为进程之间内存不共享 所有有可能会查不到

解决方法之一就是使用redis

redis是web server常用的缓存数据库,数据在内存中
相比于mysql,访问速度更快(因为一个是内存中,一个是硬盘中)
用redis他是脱离web server的,就想web server跟mysql之间的关系一样 node的进程内存和redis内存不是相同的

redis可以简单理解为放在内存中的mysql数据库

session为什么用redis

session要放在redis中是因为session访问频繁,在内存中一定比磁盘强
session可以不考虑断电丢失的问题(内存只要断电就清空数据了)
session的数据量不会很大

反之,那些 操作要求不频繁的,数据量大的,而且要求断电也得存在的数据 不能用内存

redis安装教程

https://www.runoob.com/redis/redis-install.html

redis最基本操作

这句话在redis文件夹下启动cmd 输入 算是一种启动服务器

redis-server.exe redis.windows.conf

在这里插入图片描述

在redis文件夹下另起一个cmd 输入 就是访问
到了启动的服务器了

redis-cli.exe -h 127.0.0.1 -p 6379

在这里插入图片描述

set 变量 值      回车后会回复 ok 说明声明设置成功
get 变量      回车后会得到 变量对应的值
del 变量    回车后会删除 该变量
keys *    回车后 会返回所有的当前存储的变量

在这里插入图片描述

用的方法和node连接mysql差不多 需要导入一个模块

const redis = require('redis');

用这个里提供的 get set 等函数就能直接操作redis

const redis = require('redis');

//创建客户端
const redisClient = redis.createClient(6379,'127.0.0.1');//连接端口  就跟数据库一样 只不过比较简便
redisClient.on('error',err => {
    console.error(err);
});

//测试
redisClient.set('myname','zhangesan2',redis.print);//redis.print是返回set操作的操作的结果  就比如 OK
//set 可以传三个参数
redisClient.get('myname',(err,val) => {
    if(err){
        console.error(err);
        return
    }
    console.log('val ',val);

    //退出
    redisClient.quit()
});
//get传两个 第二个是回调函数

大部分时间对于redis也只是用到set 和 get 因为平时只是做增删改查 改和增用set 删除一般只做假删除 查用get

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 Flask 中的 Session 存储Redis 中,可以使用第三方库 Flask-SessionRedis-Py。下面是一个示例: ```python from flask import Flask, session from redis import Redis from flask_session import Session import os app = Flask(__name__) app.config['SESSION_TYPE'] = 'redis' app.config['SESSION_REDIS'] = Redis(host='localhost', port=6379, password='password') app.config['SESSION_COOKIE_NAME'] = 'flask_session' app.config['SESSION_PERMANENT'] = False app.config['SESSION_USE_SIGNER'] = True app.config['SESSION_KEY_PREFIX'] = 'session:' app.config['SECRET_KEY'] = os.urandom(24) Session(app) @app.route('/') def index(): session['username'] = 'Alice' return 'Hello, World!' @app.route('/user') def user(): username = session.get('username') return f'Hello, {username}!' if __name__ == '__main__': app.run() ``` 在上面的示例中,我们首先配置了 Flask-Session,使用了 Redis 作为 Session 存储后端。在配置中,我们指定了 Redis 的主机名、端口号、密码,以及 Session 的一些其他选项,比如 Cookie 名称、前缀等。接着,我们创建了一个路由函数 `/`,在其中存储了一个名为 `username` 的 Session 数据。然后,我们创建了另一个路由函数 `/user`,在其中检索了名为 `username` 的 Session 数据,并返回了一个带有欢迎消息的字符串。 需要注意的是,为了使用 Redis 作为 Session 存储后端,我们需要在系统中安装 Redis,并安装 Redis-Py 库。此外,我们还需要在配置中指定 Redis 的主机名、端口号、密码等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值