首页 > 数据库 >Redis.js用法

Redis.js用法

时间:2023-08-26 21:56:45浏览次数:48  
标签:console log err javascript Redis 用法 else reply 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

 

标签:console,log,err,javascript,Redis,用法,else,reply,js
From: https://www.cnblogs.com/full-stack-linux-new/p/17659525.html

相关文章

  • js_中文输入法情况下, 输入框v-model绑定值中没有输入值但却触发input事件的问题
    中文输入法情况下,输入框v-model绑定值中没有输入值但却触发input事件的问题今天写的一个搜索框,要求输入字符时不作处理,直到用户点击搜索按钮时才执行搜索逻辑;当用户将搜索框文本删除至空字符串时,执行一次无搜索值的搜索逻辑,用于将表格数据恢复至无筛选;在这个功能......
  • js hook技术的感想
    最新老婆准备找工作,找了一些js的面试题,有些不懂,其中有一个问啥是原型啥是原型链,直接把我问懵逼了,接触js这么多年,没有真正了解过某种用法或者技术的学名是啥。一帮所谓学者还真是取了漂亮名。为此百度了一番,大部分博客写的一般般,太过理论,我来点实际的定一个类目前有两种方式:......
  • 轻骑兵使用driver.js踩坑
    1安装哪个版本建议安装0.9.8原版。[email protected]怎么引入、使用不要提成文件,在页面里面使用就可以。vue-page.vuetemplate<el-form-itemprop="username":class="{user:isValidateUserName}"class="username"id="create-post1">...&l......
  • Python分享之redis(2)
    Hash操作redis中的Hash在内存中类似于一个name对应一个dic来存储hset(name,key,value)#name对应的hash中设置一个键值对(不存在,则创建,否则,修改)r.hset("dic_name","a1","aa")hget(name,key)r.hset("dic_name","a1","aa")#在name对应的hash中根据key获取val......
  • mall:redis项目源码解析
    目录一、mall开源项目1.1来源1.2项目转移1.3项目克隆二、Redis非关系型数据库2.1Redis简介2.2分布式后端项目的使用流程2.3分布式后端项目的使用场景2.4常见的缓存问题三、源码解析3.1集成与配置3.1.1导入依赖3.1.2添加配置3.1.3全局跨域配置3.2Redis测试3.2.1Redis......
  • 2023-08-26 关于JSON.stringify会过滤调undefined值的问题 ==》在格式化之前先用type
    今天传参给后端的时候就发现了这么个问题,明明对象里面有这个字段a,但是打印出来死活没有,去掉json格式化后才发现是该值a为undefined,遂百度,故得知该值会被过滤掉。被过滤掉的原因是因为undefined值不符合JSON.stringify的规范。......
  • 优化Redis缓存淘汰机制解决性能测试中报错率逐渐攀升问题
    在某个查询场景的性能测试过程中,遇到了一个问题:测试过程中报错率逐渐攀升。进一步检查后发现,在查询业务所在应用的后台日志和平台应用的后台日志中,都出现了用户登录相关的报错信息。经过排查分析,发现了问题的根源,并做出了解决方案。问题描述在测试过程中,发现报错率逐渐增加,并且......
  • IPV6配置redis
    一、全局单播地址(2000::/3)redis.conf配置IPV6bind::正常启动即可redis-cli--clustercreate--cluster-replicas0ipv6地址:6379ipv6地址:6389ipv6地址:6399二、链路本地地址(FE80::/10)redis.conf可以配置链路本地地址bindipv6链路本地地址%eth0但是创建集群的时候就会......
  • ubuntu安装go和redis
    ubuntu系统怎么安装go的redis 要在Ubuntu系统上安装Go语言的Redis驱动,可以按照以下步骤进行操作:首先,确保已经安装了Go语言和Redis。可以使用以下命令检查是否已经安装了Go语言:Copygoversion如果未安装Go语言,请使用以下命令安装:Copysudoaptupdates......
  • [JSOI2018] 潜入行动
    题目描述外星人又双叒叕要攻打地球了,外星母舰已经向地球航行!这一次,JYY已经联系好了黄金舰队,打算联合所有JSOIer抵御外星人的进攻。在黄金舰队就位之前,JYY打算事先了解外星人的进攻计划。现在,携带了监听设备的特工已经秘密潜入了外星人的母舰,准备对外星人的通信实施监听。外......