nodejs中使用ioredis库操作redis

1.初始化

const Redis = require('ioredis');

// 创建 Redis 客户端实例,设置默认过期时间
const redis = new Redis({
  host: '127.0.0.1',
  port: 6379,
  password: 'password',
  // 设置默认过期时间为 60 秒
  defaultExpiry: 60,
});

可以在初始化 Redis 客户端实例时指定默认的过期时间,它将用于设置 Redis 中的键值对的过期时间。

这样,在后续执行 Redis 命令时,如果没有指定具体的过期时间,将使用该默认过期时间设置键值对的过期时间。

2.列表操作 list

2.1 添加元素到列表
// 添加元素到列表中
redis.lpush('list-name', 'item1', 'item2', 'item3');

list-name 就是列表的 key,列表名,后面是添加的元素。
lpush: 表示从左侧添加,顾名思义,还有rpush, 从右侧添加。

2.2 获取列表元素
// 获取列表中的所有元素
redis.lrange('list-name', 0, -1).then((result) => {
  console.log(result);
});

可以自己指定下标,获取区间元素。0,-1 是获取所有元素。

2.3 获取列表长度
// 获取列表长度
redis.llen('list-name').then((result) => {
  console.log(result);
});
2.4 删除元素
// 删除列表中的元素
redis.lrem('list-name', 1, 'item1').then((result) => {
  console.log(result);
});

参数介绍:

  • 列表的 key 值。
  • 要删除的元素个数。它有三种取值:
    • 如果传入 0,表示删除所有等于第三个参数 value 的元素;
    • 如果传入一个正数 n,表示删除最多 n 个等于 value 的元素;
    • 如果传入一个负数 -n,表示删除最多 n 个等于 value 的元素,并且从尾部开始向前遍历列表删除元素,例如 -1 表示从尾部开始删除第一个值等于 value 的元素。
  • 要删除的元素的值。
2.5 根据下标获取元素

[‘ni’, ‘hello’, ‘hhha’]

// 根据下标获取元素
redis.lindex('list-name', 1, (err, result) => {
  console.log(result); // 输出 'hello'
});
2.6 限定长度,截取
redis.ltrim("list-name", 0, 5);

保留最近的6个。

2.7 删除最早的元素pop
redis.lpop("list-name");  // 删除最早的元素

3. 键值对操作

设置 key 的值为 value:
redis.set("key", "value");

//获取 key 对应的值:
redis.get("key", (err, result) => {
  console.log(result);
});

//判断键是否存在:
redis.exists("key", (err, result) => {
  if (result === 1) {
    console.log("key exists");
  } else {
    console.log("key does not exist");
  }
});

//删除键:
redis.del("key");

//设置键的过期时间:
redis.expire("key", 30);  // 30 秒后过期

//自增计数器:
redis.incr("counter", (err, result) => {
  console.log(result);
});

//自减计数器:
redis.decr("counter", (err, result) => {
  console.log(result);
});

//添加元素到集合:
redis.sadd("myset", "value1", "value2", "value3");

//删除集合中的元素:
redis.srem("myset", "value1", "value2");

//获取集合中所有成员:
redis.smembers("myset", (err, result) => {
  console.log(result);
});
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值