gpt4 book ai didi

redis - Redis 中的 Mysql 表示

转载 作者:可可西里 更新时间:2023-11-01 11:25:56 25 4
gpt4 key购买 nike

我没有任何 redis 经验,我想用它来缓存 mysql php 结果,但它变得有点复杂。

在mysql中我有两个表

tbl_users: id, username, first_name, last_name
tbl_orders: order_id, order_name, order_date........

假设我想在 redis 中存储用户和订单表记录,我描绘了一个 json 看起来像

{

"users":{
"1":{username:"jane", first_name:"user1", last_name:".."}
"2":{username:"jane", first_name:"user1", last_name:".."}
...........
}
"orders":{
"1":{order_name:"jane", order_date:"user1",....}
"1":{order_name:"jane", order_date:"user1", .....}
}
}

}

在这种情况下,我应该创建两个 Redis 服务器,一个用于用户,另一个用于订单,或者我应该怎么做。

最佳答案

首先,您应该阅读 An introduction to Redis data types and abstractions , 了解 Redis 是什么以及它可以做什么。

听起来你有 3 个东西要缓存在 Redis 中:

  1. 特定用户:这是 Redis 最擅长的。SET user:1 '{username:"jane", first_name:"user1", last_name:".."}',然后使用 GET user:1
  2. 读取用户 JSON
  3. 所有用户:这可能不值得在 Redis 中缓存,因为 MySQL 会很快返回 tbl_users 中的所有行。您可以使用 Redis 列表(通过 LPUSH 并获取所有列表 LRANGE {listname} 0 -1)来缓存它。但此时您只是在复制数据库表的功​​能,所以我真的不推荐它。
  4. 特定用户的订单:同样,MySQL 应该能够有效地为您完成这项工作,并且具有良好的 index。在 tbl_orders 上,但 Redis 也可以使用列表对其进行缓存。

关于redis - Redis 中的 Mysql 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45350352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com