什么是 Redis

Redis 是一种数据库,不过更准确地来说,它更像一台结构化地数据服务器,从定义上来说相比 MySQL 更接近 MongoDB。
和操作表中的行或者集合中的文档不同,在 Redis 中是通过键来访问数据的。因此,可以将 Redis 想象成是通过如下所示的 JavaScript 对象的方式来存储数据的:

{
	'key': 'some value',
	'key2': 'some other value'
}

不过,正因为它是一个结构化的数据服务器,能存储的值自然不仅仅是简单的字符。如下都是 Redis 支持的数据类型:

  • 字符串(string)
  • 列表(list)
  • 数据集(set)
  • 哈希(hash)
  • 有序数据集(sorted set)

安装 Redis

Redis 官方以 tar 包的形式发布,包含所有源代码,支持 Mac OS X 和 Linux。
redis下载页面

对于 Windows,也有非官方但维护得很好得版本。
windows版本readis下载(GitHub):https://github.com/tporadowski/redis/releases

在安装时记得勾选将 Redis 添加到全局环境。
安装成功后,打开终端,输入一下命令

redis-cli

进入交互模式就证明安装成功了,此时可以输入指令操作 Redis 了。
127.0.0.1 是本机 IP;6379 是 Redis 默认的端口号。

Redis的基础操作

写入
写入数据使用 set 指令

set key value

key 是键名,value 是值。

读取
读取数据使用 get 。

get key

key 是键名。

查看所有key
如果你不清楚当前存了什么 key ,可以使用 keys * 来查询所有 key

keys *

如果你有多个 key ,用上面的语句可以将所有 key 都列出来。

删除
删除使用 del 。

del key

我把刚刚创建的 name 这条数据给删掉了。
此时使用 get 或者 keys * 都差不回 name 这条数据了。

Redis 和 Node

Node 进程中,会有两大缺点,如下所示。

  • 应用程序永远都无法享受到多线程带来得好处。随着应用程序负载不断增长,单进程无法承受所有得负载,我们需要将应用程序扩展到多进程或者多台计算机。
  • 每次重启应用都会丢失 session 数据:比如,在部署新代码得时候总是需要重启的。

Redis 还有许多其他非常重要的好处,比如:多种编程语言间的协同、持久化以及其他一些通过书写完整的数据存储方案才能获取的特性。

NodeJS 操作 Redis

安装 redis 依赖

npm install redis

基础操作

import { createClient } from 'redis';

// 链接格式:redis[s]://[[username][:password]@][host][:port][/db-number]
const client = createClient({
  url: 'redis://root:123456@127.0.0.1:6379'
});

client.on('error', (err) => console.log('Redis Client Error', err));

await client.connect();

// 写入数据
await client.set('key', 'value');
// 读取数据
const value = await client.get('key');
// 立即强制关闭客户端与Redis的连接
await client.disconnect();
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐