Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis newbie-mysql表的等效方法_Redis - Fatal编程技术网

Redis newbie-mysql表的等效方法

Redis newbie-mysql表的等效方法,redis,Redis,我是Redis的新手,希望能找到一个“最佳实践”解决方案,在mysql数据库中实现与“用户”表等效的功能,以便在web应用程序中处理用户 我会在Redis中创建一个用户集吗?还是为每个用户设置一个集合的用户数据库?这实际上取决于您希望在应用程序中如何处理用户。另一种选择是让每个用户都是它自己的散列,其中它们的键是每个用户(firstName、lastName等)的属性(字段)。您可以使用一个递增的密钥作为ID生成器进行插入,还可以使用另一个密钥集来保存所有用户ID。我的用户标准设置是标准密钥u:

我是Redis的新手,希望能找到一个“最佳实践”解决方案,在mysql数据库中实现与“用户”表等效的功能,以便在web应用程序中处理用户


我会在Redis中创建一个用户集吗?还是为每个用户设置一个集合的用户数据库?

这实际上取决于您希望在应用程序中如何处理用户。另一种选择是让每个用户都是它自己的散列,其中它们的键是每个用户(firstName、lastName等)的属性(字段)。您可以使用一个递增的密钥作为ID生成器进行插入,还可以使用另一个密钥集来保存所有用户ID。

我的用户标准设置是标准密钥u:userid中的一个序列化对象-此对象在每次请求时都会被检索,并且永远不需要只访问其中一个属性

您也可以对用户属性使用哈希而不是json,但我的设置包括所有用作强类型对象的内容,以及在与客户端不同的服务器上运行的redis,因此使用json可以更轻松地使用通用反序列化,并最大限度地减少任何延迟问题

除了用户对象本身,您还需要为查找用户所需的任何字段创建索引-例如,要允许用户使用电子邮件地址登录,您需要密钥e:email=>userid。散列也可以在这里工作-重要的是,你需要O(1)的东西才能从电子邮件中获取到用户对象

有时,部分用户数据应该有自己的密钥——例如,追随者列表与redis集合是完美匹配的,所以最好以这种形式存储