windows 安装 redis
在 github 中找到 redis 的版本发布页面,选择相应的版本。
点击链接:https://github.com/tporadowski/redis
找到右边的 release ,点击跳转后,选择合适的版本下载安装(如*.zip)。
在Redis的安装目录下打开cmd窗口
查看版本:
redis-server --version
在 github 中找到 redis 的版本发布页面,选择相应的版本。
点击链接:https://github.com/tporadowski/redis
找到右边的 release ,点击跳转后,选择合适的版本下载安装(如*.zip)。
在Redis的安装目录下打开cmd窗口
查看版本:
redis-server --version
Redis 服务器是一个事件驱动程序,服务器需要处理两类事件:
文件事件(file event)
- Redis 服务器通过套接字(Socket)与客户端或者其它服务器进行通信,文件事件就是对套接字操作的抽象。服务器与客户端(或其他的服务器)的通信会产生文件事件,而服务器通过监听并处理这些事件来完成一系列网络通信操作。时间事件(time event)
- Redis 服务器有一些操作需要在给定的时间点执行,时间事件是对这类定时操作的抽象。关键词:
文件事件
、时间事件
关键词:
Pipeline
Redis 是一种基于 C/S 模型以及请求/响应协议的 TCP 服务。通常情况下,一个 Redis 命令的请求、响应遵循以下步骤:
显然,如果每个 Redis 命令都发起一次请求、响应,会很低效。因此,Redis 客户端提供了一种批量处理技术,即
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。
Redis 有两种发布订阅模式
- 基于频道(Channel)的发布订阅
- 基于模式(Pattern)的发布订阅
关键词:
订阅
、SUBSCRIBE
、PSUBSCRIBE
、PUBLISH
、观察者模式
关键词:
对象
、SDS
、链表
、字典
、跳表
、整数集合
、压缩列表
SDS 是 Simple Dynamic String 的缩写,即简单动态字符串。Redis 为 SDS 做了一些优化,以替代 C 字符串来表示字符串内容。此外,SDS 还被 Redis 用作缓冲区(buffer),如:AOF 模块中的 AOF 缓冲区;客户端状态中的输入缓冲区。
关键词:
定时删除
、惰性删除
、定期删除
、LRU
、LFU
Redis 可以为每个键设置过期时间,当键过期时,会自动删除该键。
Redis 中,和键的生存时间相关的命令如下所示:
命令 | 描述 |
---|---|
EXPIRE |
设置 key 的过期时间,单位为秒 |
PEXPIRE |
设置 key 的过期时间,单位为毫秒 |
EXPIREAT |
设置 key 的过期时间为指定的秒级时间戳 |
PEXPIREAT |
设置 key 的过期时间为指定的毫秒级时间戳 |
TTL |
返回 key 的剩余生存时间,单位为秒 |
PTTL |
返回 key 的剩余生存时间,单位为毫秒 |
PERSIST |
移除 key 的过期时间,key 将持久保持 |
【问题】
【解答】
什么是 Redis:
Redis 是一个开源的“内存”数据库。由于,Redis 的读写操作都是在内存中完成,因此其读写速度非常快。
关键词:
String
、Hash
、List
、Set
、Zset
Redis 提供了多种数据类型,每种数据类型有丰富的命令支持。
Redis 支持的基本数据类型:STRING、HASH、LIST、SET、ZSET
Redis 支持的高级数据类型:BitMap、HyperLogLog、GEO、Stream
使用 Redis ,不仅要了解其数据类型的特性,还需要根据业务场景,灵活的、高效的使用其数据类型来建模。
关键词:
BitMap
、HyperLogLog
、Geo
、Stream
Redis 支持的高级数据类型:BitMap、HyperLogLog、GEO、Stream
使用 Redis ,不仅要了解其数据类型的特性,还需要根据业务场景,灵活的、高效的使用其数据类型来建模。
Bitmap,即位图,是一串连续的二进制数组(0 和 1),可以通过偏移量(offset)定位元素。由于 bit 是计算机中最小的单位,使用它进行储存将非常节省空间,特别适合一些数据量大且使用二值统计的场景。例如在一个系统中,不同的用户使用单调递增的用户 ID 表示。40 亿($$2^{32}$$ = $$410241024*1024$$ ≈ 40 亿)用户只需要 512M 内存就能记住某种状态,例如用户是否已登录。