REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
windows https://github.com/tporadowski/redis/releases
linux http://redis.io/download
sudo apt update
sudo apt install redis-server
# 启动 Redis
redis-server
# 查看 redis 是否启动?
redis-cli
redis-cli -h host -p port -a password
或者源码编译
wget <http://download.redis.io/releases/redis-6.0.8.tar.gz>
tar xzf redis-6.0.8.tar.gz
cd redis-6.0.8
make
配置在安装目录下的 redis.conf 文件,或者在命令行里改
CONFIG GET CONFIG_SETTING_NAME
CONFIG GET loglevel
CONFIG GET *
CONFIG SET loglevel "notice"
> INFO
序号 | 命令及描述 |
---|---|
1 | DEL key该命令用于在 key 存在时删除 key。 |
2 | DUMP key序列化给定 key ,并返回被序列化的值。 |
3 | EXISTS key检查给定 key 是否存在。 |
4 | EXPIRE key seconds为给定 key 设置过期时间,以秒计。 |
5 | EXPIREAT key timestampEXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。 |
6 | PEXPIRE key milliseconds设置 key 的过期时间以毫秒计。 |
7 | PEXPIREAT key milliseconds-timestamp设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 |
8 | KEYS pattern查找所有符合给定模式( pattern)的 key 。 |
9 | MOVE key db将当前数据库的 key 移动到给定的数据库 db 当中。 |
10 | PERSIST key移除 key 的过期时间,key 将持久保持。 |
11 | PTTL key以毫秒为单位返回 key 的剩余的过期时间。 |
12 | TTL key以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 |
13 | RANDOMKEY从当前数据库中随机返回一个 key 。 |
14 | RENAME key newkey修改 key 的名称 |
15 | RENAMENX key newkey仅当 newkey 不存在时,将 key 改名为 newkey 。 |
16 | SCAN cursor [MATCH pattern] [COUNT count]迭代数据库中的数据库键。 |
17 | TYPE key返回 key 所储存的值的类型。 |
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
Redis 客户端可以订阅任意数量的频道。
# 订阅 runoobChat 频道
SUBSCRIBE runoobChat
# 往 runoobChat 频道发送消息
PUBLISH runoobChat "Redis PUBLISH test"