Redis 是一个快速且可扩展的内存键值存储系统,可以用于缓存、消息队列、会话存储等场景。在 Node.js 中,我们可以使用 npm 包 redis
来连接 Redis 服务器并执行各种操作。
安装和连接 Redis
首先,在项目根目录下执行以下命令安装 redis
包:
npm install redis
然后,在需要使用 Redis 的文件中引入并创建 Redis 客户端:
const redis = require('redis') const client = redis.createClient()
这将创建一个默认配置的 Redis 客户端,连接本地 Redis 服务器,默认端口为 6379。如果需要连接其他服务器或使用非默认端口,则可以在 createClient
方法中传入相应的参数,例如:
const client = redis.createClient({ host: '127.0.0.1', port: 6380, password: 'myredispassword' })
数据操作
字符串操作
Redis 中最基本的数据类型是字符串。我们可以使用 set
方法设置一个键值对:
client.set('mykey', 'hello world')
然后使用 get
方法获取该键的值:
client.get('mykey', function (err, result) { console.log(result) // 输出 hello world })
哈希操作
哈希类型是一种将多个键值对存储在一个 Redis 键中的结构。使用 hmset
方法可以同时设置多个键值对:
client.hmset('myhash', { name: 'Alice', age: 20, email: 'alice@example.com' })
使用 hgetall
方法可以获取该哈希的所有键值对:
client.hgetall('myhash', function (err, result) { console.log(result) // 输出 { name: 'Alice', age: '20', email: 'alice@example.com' } })
列表操作
列表类型是一种按照插入顺序排序的字符串元素集合。使用 lpush
和 rpush
方法可以向列表的左边和右边添加元素:
client.lpush('mylist', 'world') client.rpush('mylist', 'hello')
使用 lrange
方法可以获取列表指定范围内的元素:
client.lrange('mylist', 0, -1, function (err, result) { console.log(result) // 输出 [ 'world', 'hello' ] })
集合操作
集合类型是一种无序的、唯一的字符串元素集合。使用 sadd
方法可以向集合中添加元素:
client.sadd('myset', 'apple', 'banana', 'orange')
使用 smembers
方法可以获取集合中的所有元素:
client.smembers('myset', function (err, result) { console.log(result) // 输出 [ 'apple', 'banana', 'orange' ] })
有序集合操作
有序集合类型是一种有序的、唯一的字符串元素集合,每个元素都关联着一个分数。使用 zadd
方法可以向有序集合中添加元素:
client.zadd('mysortedset', 1, 'apple') client.zadd('mysortedset', 2, 'banana') client.zadd('mysortedset', 3, 'orange')
使用 zrange
方法可以根据排名获取有序集合中的元素:
client.zrange('mysortedset', 0, -1, function (err, result) { console.log(result) // 输出 [ 'apple', 'banana', 'orange' ] })
错误处理
在执行 Redis 操作时,可能会出现错误,例如网络连接失败、授权失败等。我们需要对这些错误进行处理,以避免应用程序崩溃或数据丢失。
对于每个 Redis 操作,我们可以通过回调函数的第一个参数获取可能的
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/50676