Redis.js用法

Redis.js是一个用于连接和操作Redis数据库的JavaScript库。以下是一些常用的方法及其详细参数说明:

 

1. 创建Redis客户端实例:

 

```javascript

const redis = require('redis');

const client = redis.createClient({

  host: 'localhost', // Redis服务器地址

  port: 6379, // Redis服务器端口

});

```

 

2. 设置键值对:

 

```javascript

client.set('key', 'value', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply);

  }

});

```

 

参数说明:

- key:键名

- value:键值

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和响应对象

 

3. 获取键值:

 

```javascript

client.get('key', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply);

  }

});

```

 

4. 删除键值:

 

```javascript

client.del('key', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply);

  }

});

```

 

5. 判断键是否存在:

 

```javascript

client.exists('key', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply); // true表示存在,false表示不存在

  }

});

```

 

6. 设置过期时间:

 

```javascript

client.setex('key', 60, 'value', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply);

  }

});

```

 

参数说明:

- key:键名

- seconds:过期时间,单位为秒

- value:键值

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和响应对象

 

7. 发布/订阅消息:

 

```javascript

const pubsub = require('redis').createClient();

const channel = 'myChannel';

const message = 'Hello, Redis!';

 

pubsub.subscribe(channel, function(err, count) {

  if (err) {

    console.error(err);

  } else {

    console.log(`Subscribed to ${channel} with ${count} subscribers.`);

  }

});

 

pubsub.publish(channel, message, (err, count) => {

  if (err) {

    console.error(err);

  } else {

    console.log(`Published to ${channel}: ${message}`);

  }

});

 

8. 设置键值对的过期时间:

 

```javascript

client.expire('key', 60, (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply); // 1表示设置成功,返回剩余过期时间(秒)

  }

});

```

 

参数说明:

- key:键名

- seconds:过期时间,单位为秒

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和响应对象

 

9. 获取哈希表字段值:

 

```javascript

client.hgetall('hashKey', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply);

  }

});

```

 

参数说明:

- hashKey:哈希表键名

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和哈希表字段值

 

10. 设置哈希表字段值:

 

```javascript

client.hset('hashKey', 'field', 'value', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply);

  }

});

```

 

参数说明:

- hashKey:哈希表键名

- field:字段名

- value:字段值

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和响应对象

 

11. 删除哈希表字段:

 

```javascript

client.hdel('hashKey', 'field1', 'field2', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply);

  }

});

```

 

参数说明:

- hashKey:哈希表键名

- fields:要删除的字段名列表

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和响应对象

 

12. 获取列表长度:

 

```javascript

client.llen('listKey', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply); // 列表长度

  }

});

```

 

参数说明:

- listKey:列表键名

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和列表长度

 

13. 从列表左侧弹出元素:

 

```javascript

client.lpop('listKey', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply); // 弹出的元素

  }

});

```

 

参数说明:

- listKey:列表键名

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和弹出的元素

 

14. 向列表右侧插入元素:

 

```javascript

client.rpush('listKey', 'value', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply); // 插入的元素数量

  }

});

```

 

参数说明:

- listKey:列表键名

- value:要插入的元素值

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和插入的元素数量

 

15. 获取集合元素个数:

 

```javascript

client.scard('setKey', (err, reply) => {

  if (err) {

    console.error(err);

  } else {

    console.log(reply); // 集合元素个数

  }

});

```

 

参数说明:

- setKey:集合键名

- callback:回调函数,当操作完成时调用,传入错误信息(如果有)和集合元素个数

 

以上是Redis.js的一些常用方法和参数说明。更多详细信息可以参考官方文档:https://github.com/NodeRedis/node-redis

 

posted @   code星  阅读(356)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示