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);
});