我开发的 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/