傻傻的分不清Redis Stack和Redis关系,全新体验:全文搜索、向量数据库、文档数据库,真的很香。

傻傻的分不清Redis Stack和Redis关系,全新体验:全文搜索、向量数据库、文档数据库,真的很香。

大家好,我是老码农。

《码农说》公众号的第7篇文章来袭,今天分享Redis大家族的一个产品。

技术最新动向

作为一个技术人,我觉得应该时刻关注技术最新动向,保持队技术的敏锐感。

关注并不等于马上把新技术引入到产品中,而是在产品的合适时机引入新技术,

有些工具性的东西可以适当加快速度引入团队,比如RedisInsight,比市面上众多Redis客户端工具好用很多。

可以及时引入。

Redis Stack和Redis有关系吗?

名称都带redis,能没关系吗?一句正确的废话。

先上截图,左右对比看,区别还是蛮大的吧。

在这里插入图片描述

还聊redis吗?

当然不聊redis了,大家够跟他很熟,今天的主角是Redis Stack。

那Redis Stack为何物呢?

官方关于Redis Stack的说明

Redis Stack用现代数据模型和处理引擎扩展Redis,提供完整的开发者体验。

所以从官方的描述上我们可以得知,Redis Stack是针对redis的扩展。

Redis Stack都提供了哪些重量级功能?

那都扩展了哪些内容呢?我们看看redis stack特有的功能,下面是官方的描述

可搜索Redis

对Redis数据结构和数据模型进行索引和查询;对Redis数据运行复杂的聚合和全文搜索。

是不是感觉想ElasticSearch,支持全文搜索

文档数据库

利用JSON及其灵活的数据模型将Redis用作文档数据库。高效地建模、搜索和查询数据,而不需要额外的缓存。

是不是感觉像MongoDB

遥测

从现场设备中获取连续数据,将其存储为时间序列数据,或使用概率数据结构进行分析和重复数据消除。

身份和资源管理

将数字资源和ACL定义为图形,并使用单个Cypher查询实时计算权限。

矢量搜索

通过查询矢量嵌入来开发人工智能驱动的应用程序。您可以使用Redis作为矢量数据库来实现推荐系统、检索增强生成(RAG)、LLM语义缓存等。有关更多信息,请参阅快速入门指南。

这不是向量数据库吗?适用于每个组织的矢量数据库解决方案

欺诈检测

实时检测欺诈的所有工具,概率查询,矢量搜索,甚至使用流进行处理。

提供的有:HyperLogLog、Cuckoo filter、Bloom filter,最后一个看着是不是很眼熟啊,这不布隆过滤器吗?

Redis Stack套件

Redis Stack可不孤单,人家是一个大套餐,包含

  • Redis Stack Server
  • RedisInsight
  • Redis Stack 客户端 SDK
Redis Stack Server

由 Redis,RedisSearch,RedisJSON,RedisGraph,RedisTimeSeries 和 RedisBloom 组成。

RedisInsight

亲儿子,官方的客户端可视化工具,真心好用。

我最推荐的是这个客户端工具,真的很香。

Redis的客户端工具中的王者,没有之一,强烈推荐给大家。

Redis Stack 客户端 SDK

针对常用Python、.Net、Java、JS等等都提供了客户端SDK

redis-om-spring

尤其:redis-om-spring组件,让我们眼前一亮, 使用方式和访问MySQL基本相同,开发门槛降低了很多。用起来很爽。

RedisOM是Redis官方推出的ORM框架,是对Spring Data Redis的扩展。由于Redis目前已经支持原生JSON对象的存储,之前使用RedisTemplate直接用字符串来存储JOSN对象的方式明显不够优雅。通过RedisOM我们不仅能够以对象的形式来操作Redis中的数据,而且可以实现搜索功能!

感兴趣的同学可以去github上看看:https://github.com/redis/redis-om-spring

我是老码农

大家好!我是老码农。今天就分享到这里。

关注《码农说》,期待未来能与更多的同学有深入的交流,一同学习技术,共同成长。

### 如何构建向量数据库 构建向量数据库涉及多个方面,包括选择合适的工具、框架以及具体的实现方法。以下是关于如何构建向量数据库的关键要点: #### 1. 工具与框架的选择 在选择向量数据库的工具框架时,需考虑其性能、扩展性易用性等因素。常见的向量数据库解决方案有 Faiss Redis Stack。 - **Faiss** 是由 Facebook AI 研究院开发的一个高效相似性搜索聚类库,适用于大规模数据集上的高维空间相似性搜索[^3]。 - **Redis Stack** 提供了一种轻量化的方式,在本地环境中可以快速搭建向量数据库,并支持复杂的相似性查询操作[^2]。 #### 2. 创建向量数据库的具体步骤 无论是使用 Faiss 还是 Redis Stack,都需要遵循一定的流程来完成向量数据库的创建。 ##### 使用 Faiss 的具体步骤 ```python import faiss import numpy as np # 定义维度大小 dimension = 128 # 初始化索引结构 (Flat Index) index = faiss.IndexFlatL2(dimension) # 插入向量到索引中 vectors = np.random.rand(10, dimension).astype('float32') index.add(vectors) # 执行最近邻查找 query_vector = np.random.rand(1, dimension).astype('float32') k = 5 # 返回最接近的前 k 个向量 distances, indices = index.search(query_vector, k=k) print(indices) # 输出找到的向量索引位置 ``` 上述代码展示了如何通过 Python 调用 Faiss 来初始化一个简单的向量数据库,并执行基本的相似性查询功能。 ##### 使用 Redis Stack 的具体步骤 对于 Spring Boot 用户来说,可以通过整合 Redis Stack 实现更灵活的功能: ```java @Configuration public class RedisConfig { @Bean public LettuceConnectionFactory redisConnectionFactory() { return new LettuceConnectionFactory(); } @Bean public StringRedisTemplate stringRedisTemplate(LettuceConnectionFactory connectionFactory){ return new StringRedisTemplate(connectionFactory); } } ``` 此 Java 配置片段用于设置连接至 Redis 数据库的基础架构,从而进一步利用 Redis Stack 中提供的向量存储能力。 #### 3. 性能优化与效果评估 为了确保所构建的向量数据库具有良好的表现力,还需要对其进行细致的效果评估工作。这通常涉及到测试不同参数下的检索速度及准确性等问题[^1]。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值