介绍


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启动服务

创建挂载目录 datafriso,然后然后将 friso.inidict 字典文件放到 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)