node-redis相关内容
我想使用 redis 来存储我自己的一些键值对,但是我的一些模块已经在使用它.用于会话数据的 redis express 会话存储,以及用于套接字 io 的 redis 适配器.所以我的问题很简单,如何创建或指定数据库/命名空间来存储我自己的密钥而不会发生密钥冲突?我正在使用 node-redis 驱动程序. 解决方案 方案一:不同模块的数据存储在不同的Redis实例中 最严格的隔离
..
我在此配置中使用 Node Redis: 从“redis"导入redis;从“util"导入{promisify};从“../../appConfig"导入配置;const redisUrl = config.REDIS_URL;const [host, port] = redisUrl.substr(8).split(":");const RedisClient = redis.createC
..
我有一个 redis 集.这个集合最多可以存储20个成员(添加SADD命令).我的问题是;我需要在需要时更新这些成员.每个成员最多需要进行 10 次修改.集合成员是 json 作为字符串.我脑子里只有解决方案,也没有让所有成员更新并重新创建该集合.但这似乎很愚蠢. 我知道有 ZADD 排序集及其分数支持,这似乎也很合适我需要像 json 中的数据一样更新分数,但我只是想知道是否有任何方法可以
..
所以我试图让 Sessions 在我的 socket.on('connection', ...)我正在尝试使用最新版本使其正常工作:Socket.io - 0.9.13、Express - 3.1.0 和其他模块的最新版本. 无论如何我已经尝试使用两个模块“connect-redis"和“session.socket.io' 他们都有类似的问题. 在我的代码中,我有 2 个 redis
..
我想在 Centos 7 上运行多个 Redis 实例.谁能指出我正确的链接或在此处发布步骤. 我在谷歌上搜索了相关信息,但没有找到任何相关信息. 解决方案 您可以在一台机器上使用不同的端口运行多个 Redis 实例.如果您对此感到担忧,那么您可以按照以下步骤操作. 通过安装第一个 Redis 实例,它默认监听 localhost:6379. 为第二个实例创建一个新的工作
..
我在 RedisOnGo + node_redis 上使用 NodeJS + Express + Redis 作为客户端.我期望有很多并发性,因此尝试测试 WATCH.此示例不包含 Express,仅包含必要的内容. var redis = require("redis")var rc = redis.createClient(config.redis.port, config.redis.ho
..
用这个把我的头发扯掉……有没有人设法将 Socket.IO 扩展到由 Node.js 产生的多个“工作"进程.js的集群模块? 假设我在四个工作进程(伪)上有以下内容: //在服务器上var express = require('express');var server = express();var socket = require('socket.io');var io = socke
..
我们刚刚安装了 Redis Enterprise 并在数据库上设置了一些配置. 我们创建了一个简单的脚本,因为在我们的应用程序上 cluster 命令不起作用,这是正确的,它不起作用: var RedisClustr = require('redis-clustr');var redis = new RedisClustr({服务器:[{主机:'网址',端口:18611}],Redis 选
..
我目前正在使用 redis 编写应用程序,但在使用 node_redis 库时遇到了问题.特别是我无法弄清楚如何在 node_redis 中使用 redis 命令 我已经尝试了以下所有... client.send_command("CONFIG SET", ["notify-keyspace-events", "Ex"]);client.config("SET", ["notify-ke
..
我有一个问题,是否可以在 Redis 中创建 LIKE 运算符搜索?类似于关系型(mysql/oracle)数据库. 我有复杂的 json: {"_id" : ObjectId("581c8b8854fdcd1ff8c944e0"),"目标代码": "xxxxx",“对象类型":“xxxx","docid": "581c8b8554fdcd1ff8c93d10","description
..
有没有办法只在Redis中没有设置时才做原子集? 具体来说,我正在创建一个像“myapp:user:user_email"这样的用户,如果“user_email"已经被占用,我希望Redis给我一个错误,而不是默默地替换旧值.类似于声明,而不是替换. 解决方案 参见 SETNX 如果键不存在,则设置键以保存字符串值.在这种情况下,它等于 SET.当 key 已经持有一个值时,不
..
我有一个 node.js (express) 应用程序,我正在使用 node_redis 从我的 redis 数据库中获取所有用户. redis = 需要“redis"客户端 = redis.createClient()client.smembers "users", (err, user_ids) ->结果 = 新数组()对于 user_ids 中的 user_idclient.hgetall
..
目前我使用 https://github.com/mranney/node_redis 作为我的节点redis 客户端. client.retry_delay 默认设置为 250 毫秒. 我尝试连接到 redis,一旦连接成功,我手动停止了 redis 服务器以查看 client.retry_delay 是否有效.但我没有看到它起作用. 以下日志消息记录在 ready &使用 c
..
在 github 上我没有看到读取超时的选项,https://github.com/NodeRedis/node_redis 有 connect_timeout,但那是为了建立连接,而不是读/写. 解决方案 如果您确实想要某个特定方法的超时值(在您的情况下为 GET),您可以尝试其他答案中提到的技巧,但如果您的问题是由于该方法在无法连接到服务器时只是挂起而不是抛出异常,因此您可以将
..
在我们的 redis 配置中,我们设置了超时时间:7 秒 在node_redis中,我们将redis连接就绪和结束事件处理为 client.on("ready", function() {logger.info("连接成功建立到", this.host, this.port);}client.on("end", function() {logger.fatal("连接终止到", this.
..
我有一组层次数据要存储,层次就像站点/建筑/楼层,数据,例如 {网站:'纽约',建筑物: [{name:'建筑',楼层:['地面':[{room:room1},{room:room2}],'第一个':[{房间:房间1},{房间:房间2}]]}]},{网站:'伦敦',建筑物: [{name:'建筑',楼层:['地面':[{room:room1},{room:room2}],'第一个':[{房间:房
..
我正在使用 kue 它使用 node_redis,但我也已经在我的会话中使用了 node_redis,所以我想要 kue在特定端口上创建一个服务器,说默认的 6379 然后 kue 监听端口 1234. 我如何才能做到这一点?我发现这篇文章关于类似的东西,但我真的不想创建一个初始化脚本来做到这一点. 解决方案 启动 redis-server 并为 'port' 提供不同的参数,这可以
..
我正在尝试在 redis 中保存一个二进制对象,然后将其作为图像返回. 这是我用来保存数据的代码: var buff=new Buffer(data.data,'base64');client.set(key,new Buffer(data.data,'base64')); 这是转储数据的代码: client.get(key,function(err,reply){var 数据 = 回
..
是否可以在不删除现有 ttl 的情况下 SET redis 键?目前我知道的唯一方法是找出 ttl 并执行 SETEX 但这似乎不太准确. 解决方案 根据 Redis 文档,SET 命令删除 TTL,因为密钥被覆盖了. 但是,您可以使用 EVAL 命令来评估 Lua 脚本以自动为您执行. 下面的脚本会检查一个键的 TTL 值,如果该值为正,它会使用新值和剩余的 TTL 调用 S
..
如何找到所有具有匹配模式的键的数量. 例如,有两个键 abc:random-text-1 和 abc:random-text-2 .这里的常见模式是abc:.所以,这里的计数是 2. 如何在 redis 中执行此操作? 解决方案 免责声明 我希望这个旧答案没有损坏任何具有数百万个密钥的生产系统.如果出于某种原因仍然想统计redis在生产中的匹配key,最好使用scan带有匹配模
..