Node.js操作Redis的简单示例
2020-12-13 16:37
标签:node node.js redis 陈小道 示例 Redis是一个key-value类型的数据库,而key全部都是字符串,value可以是集合、hash、list等等。 Redis是通过MULTI/DISCARD/EXEC/WATCH这4个命令来实现事务功能。对事务,我们必须知道事务安全性是一个非常重要的。 事务提供了一种“将多个命令打包,然后一次性、按顺序执行”的机制,并且在事务执行期间不会中断——意思就是在事务完成之前,客户端的其他命令都是阻塞状态。 参考资料: Redis命令参考 在 Node.js 中读写 Redis 的数据(失效时间和TTL) Github node_redis
文档信息 Node.js操作Redis的简单示例,搜素材,soscw.com Node.js操作Redis的简单示例 标签:node node.js redis 陈小道 示例 原文地址:http://blog.csdn.net/cdztop/article/details/32784295var redis = require("redis");
var client = redis.createClient();
client.on("error", function(err) {
console.log("Error " + err);
});
client.on("connect", runSample);
function runSample() {
// 设置一个字符串类型的值,返回值:OK
client.set("string key", "Hello World", function(err, reply) {
console.log(reply.toString());
});
// 获取一个字符串类型的值,返回字:value
client.get("string key", function(err, reply) {
console.log(reply.toString());
});
// 另外一种方式获取一个字符串类型的值,返回字:value
var multiCmd = client.multi();
multiCmd.get("string key");
multiCmd.exec(function(err, reply) {
console.log(reply.toString());
});
// 设置失效时间
client.expire('string key', 3);
// 有效时间验证
var myTimer = setInterval(function() {
client.get('string key', function(err, reply) {
if (reply) {
console.log('I live: ' + reply.toString());
} else {
clearTimeout(myTimer);
console.log('I expired');
client.quit();
}
});
}, 1000);
// 检查一个值在失效之前存留了多长时间
var myTimer = setInterval(function() {
client.get('string key', function(err, reply) {
if (reply) {
console.log('I live: ' + reply.toString());
client.ttl('string key', writeTTL);
} else {
clearTimeout(myTimer);
console.log('I expired');
client.quit();
}
});
}, 1000);
// 集合操作
var key = "set key";
client.sadd(key, uid);
client.sadd(key, "a");
client.sadd(key, "b");
// 获取key集合中是否包含“1”,如果包含,返回1,否则返回0
client.sismember(key, "a", showData);
//client.quit();
}
function writeTTL(err, data) {
console.log("I live for this long yet: " + data);
}
function showData(err, data) {
if (err) {
console.log("err:" + err);
} else {
console.log("reply:" + data);
}
}
Redis设计与实现