gpt4 book ai didi

php - 需要以更快的方式将用户信息存储到 Redis 中,正确的命令是什么? (为了获得更好的表现)

转载 作者:IT王子 更新时间:2023-10-29 06:12:26 26 4
gpt4 key购买 nike

我需要存储用户信息,并寻找正确的方法!

知道这是要存储的信息:

- Addresses
- Full Name
- Phone number
- Location

用户可以根据需要从 HTML 表单更改此信息。

我需要什么?

将这些信息存储在 Redis 服务器中并以更快的方式更新它们的正确方法!

我尝试了什么?

1- 首先我将所有信息存储在 JSON 数组中

2- 使用此命令 (SET) 存储 JSON 数组:

$redis->set('user:8:infos', json_encode($infos));  
// And set expiration ...

更新信息

然后为了更新信息:1-首先获取 key :


$infos = $redis->get('user:8:infos');

2- 反序列化 JSON 数组

3-修改JSON数组的右键和值

4- 序列化 JSON 数组

5- 使用 SET 命令再次将其更新到 Redis 中,就像我们第一次插入它一样

您可以看到,为了更新用户的一项信息,需要执行很多操作,这会占用服务器的很多资源,尤其是在我们有大流量的情况下。

我需要正确的方式(更快并获得更好的性能)来管理用户信息并在 Redis 服务器中操作它们。

我在官方 redis 网站上的某个地方读到“排序集”比其他集最快?

您的回答将不胜感激,在此先致谢。

最佳答案

如果您的用户信息很简单,例如没有嵌套结构,保存用户信息最好最快的方法是 Redis HASH:

// SET
HSET user1 address XXX
HSET user1 full-name XXX
HSET user1 phone-number XXX
HSET user1 location XXX

// GET single field
HGET user1 address

// UPDATE single field
HSET user1 full-name YYY

但是,如果您的用户信息很复杂,并且具有嵌套结构,例如{"addr": "xxx", "location": {"latitude": 12.3, "longitude": "23.4"}},你可以使用RedisJSONredis-protobuf保存用户信息。这样您就可以以更好的性能获取或更新单个字段。

关于php - 需要以更快的方式将用户信息存储到 Redis 中,正确的命令是什么? (为了获得更好的表现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57173680/

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