php - 如何在Redis,Predis中获取相关数据?

标签 php redis predis

我开发的 Web 应用程序使用 mysql 作为后端,使用 redis 作为缓存服务器,我将记录存储在 mysql 数据库和 redis(使用 predis 库)中。

在从数据库中获取记录的过程中,首先检查redis中是否存在key(主键即id),如果是则直接从redis中获取数据,否则到数据库中获取数据。

假设数据库表是帖子、评论。

在存储帖子、评论详情的数据时,使用帖子、评论表来存储相应的数据。

评论表具有名为 post_id 的帖子表的外键

redis 服务器,对帖子、评论和不同字段都使用散列键(id),对帖子、评论如post_{id} strong> 用于帖子,comment_{id} 用于评论和存储值,使用 allposts,allcomments 集中的 hset,sadd redis 命令。

使用普通的sql查询获取相关数据很容易执行连接操作。

有没有在redis或者predis中获取相关数据的方案?

最佳答案

相关数据可以使用前缀,比如group1_yourhashedkey, group2_yourhashedkey...等。Redis不能做join。 Redis 是缓存服务器,不是 sql server。

http://redis.io/commands/KEYS

我还建议不要使用 sql 中的主键作为键,因为您使用的不止一张表,而且很可能会有重复的数字 ID(特别是如果您使用自动增量表)。使 md5 具有独特的东西。

关于php - 如何在Redis,Predis中获取相关数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410768/

相关文章:

php - 如何在 laravel 中同时拥有集群和非集群 redis 连接

php - 将文件提交到 Google 云端硬盘

php - 当我为列使用整数名称时 CREATE TABLE 失败

javascript - 用于可视化数据的 PHP D3 组合

php - Predis - 捕获连接错误

php - 名称或服务未知 [tcp ://redis:6379]

php - 提交表单时无法获取 php 中的所有值

c# - ASP.NET HttpSession.Abandon 不关闭 redis 连接

Redis 发布/订阅 : see what channels are currently subscribed to

javascript - 在redis中存储node.js setTimeout的返回值