草庐IT

express-validator

全部标签

javascript - Node/Express 路由不等待 Redis 服务器回调

需要对下面的代码进行哪些具体更改,以便在对Redis客户端进行任何打开调用之前不发送res.json(...)命令.somecommand(..)返回了吗?下面的代码抛出与client.hmset(uname,{...}试图在res.json(...)被调用。当我将returnres.json()命令移动到client.exists(uname,function(err,reply){...}条件block,而不是它们在block内的当前位置,anonymoustoken值被发送到客户端应用程序,而不是生成的tokenvalue,表示Redis服务器的回调没有返回。如何更改下面的代码,

redis - 如何使用键与 express 列表不匹配的正则表达式删除 redis?

我尝试在redis中删除行,我首先搜索键以确保我的表达是正确的。获取以sess:开头的键:keyssess:*//IgetreturnasIexpect获取不以sess:开头的键:keys^(sess:)*//Igetemptylist,notasexpectkeys[^sess:]*//Igetlistthatnotstartwithsoreor:,notasexpect获取不以sess:和brand:开头的keykeys[^(sess:|brand:)]*//Igetlistthatnotstartwithsoreor:orbandsoon,notasexpect谁能帮我列出我没有

java访问redis抛出java.util.NoSuchElementException : Unable to validate object

当我用java代码操作redis时是可以的,但是项目运行几个小时后,当我再次访问redis时,项目抛出以下异常。java.util.NoSuchElementException:无法验证对象在org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:506)在org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)在redis.clients.util.Poo

postgresql - Postgres : NOT IN array instead of NOT EXISTS expression

我的项目随机匹配一对用户。他们可以退出游戏并与其他用户随机配对。我不希望2个用户可以在一段时间内一次又一次地匹配。我将所有数据(如user_id、语言、性别等)保存在postgres表中。为了暂时不再匹配他们,我使用了Redis排序列表和Unix时间来存储匹配的用户对。我决定使用Redis,因为我的项目每天存储100万对夫妇。当我必须将一个用户与另一个用户匹配时,我从redis获取在过去x分钟内与他匹配的用户列表,然后我将它们传递给“whereuser_idnotin()”(它们永远不会超过200,如果我将其限制为200),当我运行查询以查找可用用户与他匹配时。这样我就不能使用应该比I

node.js - 如何禁止通过 Express-session 存储的 session 的 TTL 刷新?

我有一些关于session处理的要求,但我无法执行其中的一个。session需要:如果用户不活跃则在30分钟后过期无论事件如何,都将在用户首次登录后的8小时内过期。我能够配置第1项但不能配置第2项。每次用户浏览应用程序时,cookie都会更新(时间+30分钟)并发送回浏览器,但同时session存储TTL也是刷新。最后一部分是我需要停止的。我相信TTL刷新是作为express-session的一项功能实现的。Session.touch()由中间件调用,但是否有一个设置可以删除此操作?堆栈:用于session存储的Node、express、express-session、connect-

unit-testing - 如何执行涉及 redis、socket.io 和 nodejs/express 的单元测试?

我目前在尝试创建涉及socket.io、redis和express交互的单元测试时遇到问题。我正在寻找有关如何最好地模拟这些交互的策略。例如,我正在使用socket.io-client来模拟socket.io到我的快速服务器的连接/行为,但是当我添加一个测试来检查redis是否存储来自socket.io的正确信息时,我发现自己需要还在redis单元测试中模拟socket.io,这反过来意味着我需要模拟express服务器。这导致我似乎正在重写另一个服务器只是为了对我正在尝试测试的实际服务器进行单元测试。有没有人必须这样做?如果是的话,你能给我指点资源吗(google/stackover

php - Symfony2 Redis Validator,字符串而不是 ClassMetadata

我已经从Memcached迁移到Redis。起初我使用的是PECLRedis3.1.3,一切正常。更新到3.1.5后,我开始收到错误消息:UncaughtPHPExceptionSymfony\Component\Debug\Exception\FatalThrowableError:"Typeerror:Argument1passedtoSymfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory::mergeConstraints()mustbeaninstanceofSymfony\Component

node.js - 无法将 redis 服务器与 express node js 应用程序集成

我是Node.js的新手,我一直在尝试创建一个与KUE库集成的小型应用程序以进行任务排队。当我尝试运行应用程序时,即nodeapp.js我收到以下错误:{ReplyError:ERRwrongnumberofargumentsfor'set'commandatparseError(.......\node_modules\redis-parser\lib\parser.js:193:12)atparseType(........\node_modules\redis-parser\lib\parser.js:303:14)command:'SET',args:['promotion:l

express - 在 Express 中使用 supertest 时如何模拟 redis?

我正在Express中构建一个RESTAPI,我试图在我的Jasmine单元测试中模拟Redis(使用redis-mock)。如果supertest正在向API发出请求,我如何告诉我的应用程序使用模拟Redis而不是实际的Redis?.我知道我可能需要为我可以以某种方式换出的redis创建单独的模块,只是不确定如何将其换出以用于常规请求和super测试请求。单元测试:describe('InstanceAPIv1',()=>{it('returnsalistofinstances',(done)=>{request(app.default).get('/v1/instance').se

express - 跨多服务器集群跟踪 expressjs 中连接的客户端数量

我正在使用SSE并且需要跟踪集群中的事件连接数。在每个实例中我都可以做server.getConnections(function(err,count){if(err)throwerr;console.log(count);});使用此方法并使用Redis在集群中保持准确总数的最佳方法是什么? 最佳答案 不知道您设置的所有细节,我会按如下方式处理:假设您的所有集群实例都与同一个Redis实例通信,在Redis存储中设置一个名为connection_count的键:SETconnection_count0。在每个集群节点上处理serv