当前位置: 首页 > 知识库问答 >
问题:

Redis中是否存在组合数据类型的操作?

韩羽
2023-03-14

我刚刚读过这个Redis教程https://Redis.io/topics/twitter-clone。如果我没有理解错的话,它的本质是要查看用户的帖子,PHP(或其他客户端)必须调用Redis获取用户有资格查看的帖子的列表,然后必须循环访问该列表,对Redis单独调用以检索每个帖子(存储为散列)。

在所有条件相同的情况下,如果客户端可以对Redis进行一次调用,并且Redis可以将帖子列表与相关散列组合起来,并且只返回符合条件的帖子,则会更好。这可能吗?如果没有,在可能的地方是否有Redis的替代方案?

共有1个答案

殷德本
2023-03-14

您可以使用Lua脚本来实现,您可以预加载到redis中,并随意执行,就像SQL数据库中的存储过程一样。Twitter克隆教程非常古老,早于Redis IIRC中的Lua脚本。

这里有一些关于它的好文档:https://redislabs.com/ebook/part-3-next-steps/chapter-11-scripting-redis-with-lua/11-1-adding-functionality-without-writing-c/11-1-1-loading-lua-scripts-into-redis/

 类似资料:
  • 我刚刚开始学习Javascript,我立刻被Mozilla的《Javascript重新介绍》(JS教程)中看似矛盾的语句弄糊涂了。 一只手: “JavaScript中没有整数这类东西,因此,如果你习惯于用C或Java进行数学运算,那么你就必须对算术稍微小心一点。” 另一方面(紧接该段之后): 实际上,整数值被视为32位int(并且在某些浏览器实现中以这种方式存储),这对于逐位操作很重要。 和 “可

  • 本文向大家介绍Redis中五种数据类型简单操作,包括了Redis中五种数据类型简单操作的使用技巧和注意事项,需要的朋友参考一下 Redis中五种数据类型简单操作 提出问题 Redis五种数据类型的简单增删改查命令??? 解决问题 假设你已经安装Redis服务器; 假设你已经打开Redis cli命令行工具; 假设你对Redis有所了解; Redis简单增删改查例子 例一:字符串的增删改查 例二:S

  • 主要内容:string字符串,hash散列,list列表,set集合,zset有序集合经过前面介绍,我们知道 Redis 是 Key-Value 类型缓存型数据库,Redis 为了存储不同类型的数据,提供了五种常用数据类型,如下所示: string(字符串) hash(哈希散列) list(列表) set(集合) zset(sorted set:有序集合) 注意:这里指的数据类型是 Value(值) 的数据类型,而非 key。 string字符串 String 是 Redis 最基

  • 问题内容: 我想知道是否可以在Django模型中存储数组? 我问这个问题是因为我需要在一个字段中存储一个数组(例如[1,2,3]),然后能够搜索特定的数组并与之匹配,或者通过它的可能组合来进行匹配。 我当时正在考虑将该数组存储为s中的字符串,然后在需要搜索内容时,将值(通过过滤其他模型获得)与’[‘,’]’和’,’连接在一起,然后使用带有生成字符串。问题在于,我将必须生成每种可能的组合,然后逐个过

  • 所以我被要求写一个程序,列出学生的名字和分数,并计算平均分数。您需要声明两个名为name和marks的数组。假设学生人数为5人。 声明数组名称:(使用二维数组)字符名称[num\u std][name\u len]//名称长度可以为20个字符 声明数组标记:浮点标记[num\u std]; 让我恼火的是,我不知道为什么当我尝试运行调用名称和标记的循环时我会得到一个空。我还想知道以这种方式编码我的二

  • 问题内容: Redis如何处理(来自不同客户端的)多个线程来更新Redis中的相同数据结构?对于这种用例,建议的最佳实践是什么? 问题答案: 如果您在某个时候读了《小红衣人》一书,这句话就来了。 “您可能不知道,但是 Redis实际上是单线程的 ,这确保了每个命令都是原子的。 在执行一个命令时,不会再运行其他命令 。” 看看http://openmymind.net/2012/1/23/The-L