node.js - 将值 append 到 Hashfield

标签 node.js hash redis append

Redis is able to append key 值的字符串。我需要 append 到 Hashfield 的值,而不是普通键。我目前正在以明显的方式解决它:

redis.HGET('hash', 'field2append', function(err, reply){
    redis.HSET('hash', 'field2append', reply + appendString);
});

由于设置涉及多个物理 (node.js) 服务器中的集群,上述情况可能会导致数据丢失,因为 Node 接收值和再次设置值之间所花费的时间(如果另一台服务器正在更新相同的字段)同时)。

是否有更安全的方法将字符串 append hashfieldvalue

最佳答案

是的。您可以通过 transactions 执行此操作(如在管道中),或通过 Lua script在服务器端运行所有逻辑。因为 Redis 是单线程的,所以当您运行事务或 lua 脚本时,它会阻止其他一切运行,直到它完成。这样,您就可以保证不会因为您提到的原因而发生数据丢失。

关于node.js - 将值 append 到 Hashfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18776231/

相关文章:

redis - Redis 中 AOF 和 RDB 的首字母缩写词代表什么?

javascript - MySQL使用相同的ID将两个不同表的值插入到新表中

Perl 哈希、数组和引用

php - CRYPT_BLOWFISH 用法

ruby-on-rails - 如何将一个变量分配给另一个变量而不互相引用?

node.js - Redis NOAUTH 错误 - 尽管在我的 redis.conf 文件中禁用了身份验证

node.js - 预建 Electron 模块分布

javascript - 如何从目录中读取文件并将其作为 JSON 发送给客户端?

javascript - Handlebars 表情

redis - 是否需要在Redis集群之前放置负载均衡器