首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新redis客户端散列

更新redis客户端散列
EN

Stack Overflow用户
提问于 2016-08-05 21:55:29
回答 2查看 9.1K关注 0票数 4

我想要更新一个条目并添加到redis散列会话条目中。

我已经能够使用下面的代码使用redis客户端创建一个哈希表:

代码语言:javascript
复制
var redis = require('redis');
var client = redis.createClient(); //creates a new client

client.on('connect', function() {
    console.log('connected');
});

client.hmset('frameworks', {
    'javascript': 'AngularJS',
    'css': 'Bootstrap',
    'node': 'Express'
});

有什么方法可以添加到这个散列中吗?我想要更改和更新现有的散列元素。

这是不是有可能不读取所有内容,并创建一个新的哈希更新和新的哈希元素。

我正在使用这个网页作为教程指南:https://www.sitepoint.com/using-redis-node-js/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-05 22:02:03

您可以根据要添加或更新的数量使用相同的hmset/hset

代码语言:javascript
复制
var redis = require('redis');
var client = redis.createClient(); //creates a new client

client.on('connect', function() {
    console.log('connected');
});

client.hmset('frameworks', {
    'javascript': 'AngularJS',
    'css': 'Bootstrap',
    'node': 'Express'
});

假设您最初拥有这个,并且想要添加db : mongo,并且想要更新node: Express4,那么您可以使用

代码语言:javascript
复制
//If you know will update only one use hset instead
client.hmset('frameworks', {
    'node': 'Express4',
    'db' : 'MongoDB'
});

我将添加数据库和更新节点也为关键框架

票数 12
EN

Stack Overflow用户

发布于 2016-08-05 22:01:58

可以,如果散列中已存在key或散列field,则它们将被覆盖。

因此,要添加或更新一个字段,可以使用hset;如果要插入/更新多个字段,则可以使用hmset

如果您希望用丢弃先前值的新散列覆盖整个散列,则可以使用client.multi()并结合使用delhmset命令,在事务中执行它们。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38791043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档