介绍
Redis和Redis Stack的主要区别在于功能和适用场景
- 功能差异:
- Redis是一个开源的内存数据结构存储系统,主要用作数据库、缓存和消息代理,支持多种数据结构如字符串、列表、集合等,并提供丰富的操作命令,如存储、读取、删除等1。
- Redis Stack则是基于Redis的数据结构栈实现,它将Redis的列表数据结构与一些自定义操作命令结合起来,提供了栈的常用操作,并扩展了Redis的功能,支持更复杂的用例,如数据查询、图形数据结构和实时流处理等12。
- 适用场景差异:
- Redis适合用于需要高性能的简单数据访问的应用场景2。
- Redis Stack则更适合用于需要复杂数据处理和多种数据类型的应用场景,如对搜索、文档、图形、时间序列等进行数据建模23。
- 安装和配置:
- 安装Redis通常通过命令行工具进行,而Redis Stack可以通过Docker方式进行安装4。
- 使用Redis时,可以通过Redis CLI或编程语言连接并进行基本操作,而Redis Stack提供了更丰富的功能和更好的开发人员体验34。
- 组成和扩展性:
- Redis Stack是一组软件套件,主要由Redis Stack Server、RedisInsight和Redis Stack客户端SDK组成,其中Redis Stack Server包含了Redis, RedisSearch, RedisJSON, RedisGraph, RedisTimeSeries和RedisBloom等模块。
综上所述,Redis和Redis Stack的主要区别在于功能、适用场景、安装配置方式以及提供的扩展性上。Redis Stack在Redis的基础上提供了更多的功能和更好的用户体验,适合需要复杂数据处理的应用场景。
基于Docker启动服务
创建挂载目录 data
和 friso
,然后然后将 friso.ini
及 dict
字典文件放到 friso
文件夹中。
其中 friso.ini
文件可以从gitee上获取,只需要更改其中的字典路径即可。
friso.lex_dir = /friso/dict/UTF-8/
docker-compose.yml 文件中的内容如下:
redis-stack:
image: redis/redis-stack:7.2.0-v9
container_name: redis-stack
privileged: true
networks:
- middleware
volumes:
- ./redis-stack/data:/data
- ./redis-stack/friso:/friso
environment:
TZ: Asia/Shanghai
REDIS_ARGS: "--requirepass redisstack123456"
REDISEARCH_ARGS: "MAXSEARCHRESULTS 10000 MAXAGGREGATERESULTS 10000 FRISOINI /friso/friso.ini"
ports:
- 6379:6379
- 8001:8001
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "20"
Redis-Stack 的默认配置文件在容器中的
/etc/redis-stack.conf
位置,如果需要修改,可以挂在出来。
Friso 用于 redissearch 分词,如果你不需要可以去除与它相干的配置和参数。
服务启动后,可以通过浏览器访问 8001
端口来查看控制台UI界面。
(END)