一. 基本功能
- 缓存数据
- 数据存储
- 消息中介
二. 安装命令
$ npm install redis
三. 基本操作
- 连接 redis
// 导入redis var redis = require('redis'); // 连接redis var client = redis.createClient(6379,'localhost');
- string 字符串
// 增加 client.set('key', 'value'); // 获取 client.get('key', function(err, value) { console.log(value); }); // 删除 client.del('key');
- hash 散列
// 在散列里面关联起给定的键值对 client.hset('hash-key', 'sub-key', 'value'); // 获取指定散列键的值 client.hget('hash-key', 'sub-key' function(err, value) { console.log(value); }); // 获取散列包含的键值对 client.hgetall('hash-key', function(err, value) { console.log(value); }); // 如果给定键存在于散列里面,则移除这个键 client.hdel('hash-key', 'sub-key');
- 其他命令
// 查询一个key是否存在 client.exists('key'); // 设置一个key的过期的秒数 client.expire('key', 'seconds'); // 设置一个key的过期的毫秒数 client.pexpire('key', milliseconds) // 设置一个UNIX时间戳的过期时间 client.expireat('key', timestamp) // 设置一个UNIX时间戳的过期时间(毫秒) client.pexpireat('key', milliseconds-timestamp) // 移除key的过期时间 client.persist('key');
四. 重点知识
node.js
默认操作redis
都是异步
操作, 为了方便对返回值的一系列操作:, 可以使用以下实例(同步读取数据)
:
redis.js
// 导入redis
var redis = require('redis');
// 连接redis
var client = redis.createClient(6379,'localhost');
async function get(dbNum) {
return new Promise((success, error) => {
client.get("key", (err, value) => {
if (err) { throw err };
success(value);
})
})
};
module.exports = {
get,
};
main.js
const redis = require('./redis')
async function main() {
var value = await redis.get('key');
console.log(value);
};
main()