有谁知道你可以在redis中存储的最大值大小是多少?我想将redis用作celery的消息队列来存储一些需要由另一台服务器上的worker处理的小文档,我想确保文档不会太大.
我找到了一个引用1GB的页面,但当我按照页面上的链接获取该答案的链接时,链接无效了.链接在这里:
http://news.ycombinator.com/item?id=1182005
谢谢,肯
我有一个烧瓶应用程序,我使用烧瓶登录,按照教程(没有什么花哨在这里)
localhost而不是127.0.0.1.from flask.ext.login import LoginManager
login_manager = LoginManager()
login_manager.session_protection = "strong"
login_manager.init_app(app)
login_manager.login_view = 'login'
def login():
error = None
form = LoginForm()
if request.method == 'POST':
user = db.users.find_one({"username": form.username.data})
pass_hash = generate_password_hash(form.password.data)
if user and User.validate_login( pass_hash, user['password'] ):
user_obj = User(user['username'])
session['logged_in'] = True
login_user(user_obj,remember=True)
flash("Logged in successfully", category='success')
print 'logged in: OK'
#return redirect(request.args.get("next") or url_for("index"))
return redirect( url_for("index"))
error = 'Invalid credentials'
return render_template('login.html', title='login', **locals()) …Run Code Online (Sandbox Code Playgroud) 使用下面的应用程序和Flask 0.11.1,我导航到与以下函数调用关联的路由,给定结果:
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def create():
session['list'] = ['1','2','3']
return ",".join(session['list'])
@app.route('/m')
def maintain():
return ",".join(session['list'])
@app.route('/r/<int:id>')
def remove(id):
session['list'].remove(str(id))
return ",".join(session['list'])
if __name__ == '__main__':
app.secret_key = "123"
app.run()
Run Code Online (Sandbox Code Playgroud)
这个问题与这个问题的主题类似,这个和这一个,但是我设置了密钥而不是重新生成它,我的变量肯定不会超过cookie允许的4096字节.也许我错过了一些关于Flask会话变量的基本理解?
我正在使用最新的Flask/Werkzeug(Flask 0.9)客户端会话来保持请求之间的信息.会话未设置为持久性(因为我很好,当浏览器关闭时cookie被删除).
我的问题如下:
我使用一些服务器端代码用条目填充Flask会话变量.在此之后,Session变量看起来像这样:
<SecureCookieSession {u'items': SOMENOTVERYIMPORTANTDICTIONARY}, '_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}*>
Run Code Online (Sandbox Code Playgroud)
我使用这些信息将一个执行GET请求的页面(通过JQuery)呈现给同一个Flask应用程序,但突然间会话中包含"items"条目的字典消失了:
<SecureCookieSession {'_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}>
Run Code Online (Sandbox Code Playgroud)
我做了一些搜索,并认为这可能与我在localhost上测试的事实有关(127.0.0.1与localhost不同).我修复了我的hosts文件并添加了一个'dev.localhost'条目,以确保所有请求都来自同一主机.
此外,我的浏览器(Chrome)的开发人员窗格显示与发送到服务器的会话cookie完全相同的标识符.
此外,设置session.modified = True没有帮助.
请求之间唯一的变化是
__utmb=122666782.18.10.1363877633
Run Code Online (Sandbox Code Playgroud)
对于第一个请求(填充items条目的请求)与第二个请求
__utmb=122666782.19.10.1363877633
Run Code Online (Sandbox Code Playgroud)
认为它仍然可能是与Ajax相关的东西.我在简单的页面重新加载后测试了会话变量的内容:该items条目仍然从会话中消失.
任何帮助将不胜感激.
我有一个 Angular 应用程序,它需要调用一个 Flask 服务器,该服务器使用会话在请求之间存储信息。
我还有一个旧的 JS 应用程序,它使用 XMLHttpRequest 调用同一个服务器,我正在用新的 Angular 应用程序替换它。
问题在于,当旧应用程序发出请求时,会话 cookie 会按预期工作,但现在使用 angular 应用程序时却没有。
所有交互都通过本地主机完成。Flask 服务器可从 访问localhost:5000,Angular 应用程序可从localhost:4200.
旧应用程序正在执行这样的请求:
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "http://localhost:5000/api/getAll", true);
xhttp.withCredentials = true;
xhttp.send();
Run Code Online (Sandbox Code Playgroud)
Angular 应用程序是这样做的:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, } from '@angular/common/http';
import { Observable } from 'rxjs';
const httpOptions = {
withCredentials: true,
headers: new HttpHeaders({
'Content-Type': 'application/json',
'charset': 'UTF-8',
})
};
@Injectable()
export class ServerService {
url …Run Code Online (Sandbox Code Playgroud)