需要以更快的方式将用户信息存储到 Redis 中,正确的命令是什么? (为了获得更好的表现)
Need to store users infos in a faster way into Redis, what are the right commands to use ? (To get better performances)
我需要存储用户信息,正在寻找正确的方法!
知道这是要存储的信息:
- 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- 首先拿到钥匙:
$infos = $redis->get('user:8:infos');
2-反序列化JSON数组
3-修改JSON数组的右键和值
4- 序列化 JSON 数组
5- 使用 SET 命令再次将其更新到 Redis 中,就像我们第一次插入它一样
您可以看到为了更新用户的一项信息有很多操作要做,这会占用服务器的很多资源,尤其是在我们有大流量的情况下。
我需要正确的方法(更快并获得更好的性能)来管理用户信息并在 Redis 服务器中操作它们。
我在官方 redis 网站上的某个地方读到 "Sorted sets" 比其他的快?
您的回答将不胜感激,在此先致谢。
如果您的用户信息很简单,例如没有嵌套结构,保存用户信息最好最快的方法是 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”}},您可以使用 RedisJSON or redis-protobuf 来保存用户信息。以便您可以以更好的性能获取或更新单个字段。
我需要存储用户信息,正在寻找正确的方法!
知道这是要存储的信息:
- 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- 首先拿到钥匙:
$infos = $redis->get('user:8:infos');
2-反序列化JSON数组
3-修改JSON数组的右键和值
4- 序列化 JSON 数组
5- 使用 SET 命令再次将其更新到 Redis 中,就像我们第一次插入它一样
您可以看到为了更新用户的一项信息有很多操作要做,这会占用服务器的很多资源,尤其是在我们有大流量的情况下。
我需要正确的方法(更快并获得更好的性能)来管理用户信息并在 Redis 服务器中操作它们。
我在官方 redis 网站上的某个地方读到 "Sorted sets" 比其他的快?
您的回答将不胜感激,在此先致谢。
如果您的用户信息很简单,例如没有嵌套结构,保存用户信息最好最快的方法是 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”}},您可以使用 RedisJSON or redis-protobuf 来保存用户信息。以便您可以以更好的性能获取或更新单个字段。