Redis 的安装及基本用法
一、Redis 简介
1、Redis 的定义
Redis(REmote DIctionary Server)是一个开源的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 通常被称为数据结构服务器,因为值 (value) 可以是字符串 (String), 哈希 (Map), 列表 (list), 集合 (Sets) 或有序集合 (Sorted Sets) 等类型。
2、Redis 的特性
- 高性能:Redis 将所有数据集存储在内存中,能读的速度是 110000次/s,写的速度是 81000次/s;而且 Redis 支持 Pipelining 命令,可一次发送多条命令来提高吞吐率,减少通信延迟;
- 持久化:当所有数据都存在于内存中时,可以根据自上次保存以来经过的时间和更新次数,使用灵活的策略将更改异步保存在磁盘上。支持仅附加文件(AOF)持久化模式。
- 数据结构:Redis 支持各种类型的数据结构,例如字符串、散列、集合、列表、带有范围查询的有序集、位图、超级日志和带有半径查询的地理空间索引;
- 原子操作:处理不同数据类型的 Redis 操作是原子操作,要么成功执行要么失败完全不执行,因此可以安全地 SET 或 INCR 键,添加和删除集合中的元素等。
- 支持的语言:Redis 支持许多语言,如 C、C++、Erlang、Go、Haskell、Java、JavaScript(Node.js)、Lua、Objective-C、Perl、PHP、Python、R、Ruby、Rust、Scala、Smalltalk 等;
- 主/从复制:Redis 遵循非常简单快速的主/从复制。配置文件中只需要一行来设置它,而 Slave 在 Amazon EC2 实例上完成 10 MM key 集的初始同步只需要 21 秒;
- 分片:Redis 支持分片。与其他键值存储一样,跨多个 Redis 实例分发数据集非常容易;
- 可移植:Redis 是用 C 编写的,适用于大多数 POSIX 系统,如 Linux、BSD、Mac OS X、Solaris 等。
二、安装及启动
1、安装
Mac 上直接运行:
brew install redis
2、启动和停止
通过以下命令启动 Redis:
redis-server
可以看到 Redis 的启动日志,可通过 Ctrl + C 来停止 Redis。
3、连接到 Redis
redis-cli
运行效果:
三、基本用法
Redis 的键值操作如下:
命令 | 描述 |
---|---|
SET <key_name> <key_value> | 用于设置 key |
DEL <key_name> | 用于删除 key |
DUMP <key_name> | 序列化给定 key ,并返回被序列化的值 |
EXISTS <key_name> | 检查给定 key 是否存在 |
EXPIRE <key_name> <seconds> | 设置 key 的过期时间,单位秒 |
EXPIREAT <key_name> <timestamp> | 设置 key 的过期时间,单位 UNIX 时间戳 |
PEXPIRE <key_name> <milliseconds> | 设置 key 的过期时间,单位毫秒 |
PEXPIREAT <key_name> <milliseconds-timestamp> | 设置 key 过期时间的时间戳 (unix timestamp),以毫秒计 |
KEYS <pattern> | 查找所有符合给定模式的 key |
MOVE <key_name> <db> | 将当前数据库的 key 移动到给定的数据库中 |
PERSIST <key_name> | 移除 key 的过期时间,key 将持久保持 |
PTTL <key_name> | 以毫秒为单位返回 key 的剩余的过期时间 |
TTL <key_name> | 以秒为单位,返回给定 key 的剩余生存时间 |
RANDOMKEY | 从当前数据库中随机返回一个 key |
RENAME <key_name> <name> | 修改 key 的名称 |
RENAMENX <key_name> <name> | 仅当 newkey 不存在时,将 key 改名为 newkey |
TYPE <key_name> | 返回 key 所储存的值的类型 |
示例:
set a 123
get a
set b 222
set c 333
keys *
结果: